9fe1438bf26bf7dc7452767d52f3e18e94b17509.svn-base 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. import { Map } from 'maptalks'
  2. import 'babel-core/register'
  3. import 'babel-polyfill'
  4. import './style/public.css'
  5. import Event from './core/Event'
  6. import { listStatus, analysis, mapGoto } from './business/statusManagement'
  7. import { singleDelay } from './core/util'
  8. import config from './business/config'
  9. import getTile from './business/selectTile'
  10. global.bus = new Event()
  11. let args = analysis()
  12. global.map = new Map('map', {
  13. center: [args.lon, args.lat],
  14. zoom: args.zoom,
  15. bearing: args.bearing,
  16. maxZoom: 19,
  17. minZoom: 6,
  18. maxPitch: 70,
  19. maxVisualPitch: 100,
  20. doubleClickZoom: false,
  21. forceRenderOnMoving: true,
  22. forceRenderOnZooming: true,
  23. forceRenderOnRotating: true,
  24. baseLayer: getTile(),
  25. })
  26. require('./business/initScene3D.js')
  27. // url状态
  28. let status = singleDelay(listStatus, 500)
  29. map.on('moving zoomend dragrotating', status);
  30. map.on('zoomend', args => {
  31. if (args.to <= config.criticalZoom && args.from > config.criticalZoom) {
  32. mapGoto({ pitch: 1, bearing: 7.5 }, 300)
  33. bus.emit('uninstall3D')
  34. bus.emit('install2D')
  35. } else if (args.to > config.criticalZoom && args.from <= config.criticalZoom) {
  36. bus.emit('uninstall2D')
  37. bus.emit('install3D')
  38. mapGoto({ pitch: 62, bearing: 90 }, 300)
  39. }
  40. })
  41. if (args.zoom > config.criticalZoom) {
  42. bus.emit('install3D')
  43. } else {
  44. bus.emit('install2D')
  45. }