12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485 |
- import 'babel-core/register'
- import 'babel-polyfill'
- import './style/public.css'
- import * as maptalks from 'maptalks'
- import { ThreeLayer } from 'maptalks.three'
- import meshStaus from './business/meshStaus'
- import initAmbient from './business/initAmbient'
- import { addGeo } from './core/dyWoker'
- import Event from './core/Event'
- import * as status from './business/statusManagement'
- // import './business/test'
- let args = status.analysis()
- global.bus = new Event()
- global.map = new maptalks.Map('map', {
- center: [args.lon, args.lat],
- zoom: args.zoom,
- bearing: args.bearing,
- maxZoom: 20,
- minZoom: 15,
- maxPitch: 70,
- maxVisualPitch: 100,
- doubleClickZoom: false,
- attribute: {'content': ''},
- forceRenderOnMoving: true,
- forceRenderOnZooming: true,
- forceRenderOnRotating: true,
- baseLayer: new maptalks.TileLayer('tile', {
- 'urlTemplate': 'http://tile0.f4map.com/tiles/f4_3d/{z}/{x}/{y}.png',
- // http://tile0.f4map.com/tiles/f4_3d/{z}/{x}/{y}.png
- // http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png
- 'subdomains': ['a', 'b', 'c', 'd']
- })
- })
- const canvasTile = new maptalks.CanvasTileLayer('tile', {
- urlTemplate: 'https://{s}.data.osmbuildings.org/0.2/anonymous/tile/{z}/{x}/{y}.json',
- subdomains: ['a', 'b', 'c', 'd'],
- forceRenderOnMoving: true,
- forceRenderOnZooming: true,
- forceRenderOnRotating: true,
- repeatWorld: false,
- maxAvailableZoom: 15
- })
- map.addLayer(canvasTile)
- global.threeLayer = new ThreeLayer('t', {
- forceRenderOnMoving: true,
- forceRenderOnZooming: true,
- forceRenderOnRotating: true
- })
- threeLayer.prepareToDraw = initAmbient
- function getCurrTiles() {
- let tileGrids = canvasTile.getTiles().tileGrids
- for (var i = 0; i < tileGrids.length; i++) {
- if (tileGrids[i].zoom >= 15) break
- }
- return tileGrids[i].tiles
- }
- threeLayer.draw = () => {
- addGeo(getCurrTiles());
- delete threeLayer.draw;
- }
- threeLayer.addTo(map)
- let timeout = null
- map.on('moving moveend zoomend dragrotating dragrotateend', () => {
- clearTimeout(timeout)
- timeout = setTimeout(() => {
- meshStaus()
- addGeo(getCurrTiles())
- status.listStatus()
- }, 500)
- });
|