b81158edf62198004326b13fb88c3c028bcc1869.svn-base 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. function analysis () {
  2. let result = {}
  3. let args = location.search.substr(1)
  4. args = args.split('&')
  5. args.forEach(arg => {
  6. let index = arg.indexOf('=')
  7. if (~index) {
  8. result[arg.substring(0, index)] = Number(arg.substr(index + 1))
  9. }
  10. })
  11. if (!result.lat || !result.lon) {
  12. result.lat = 22.252832648721693
  13. result.lon = 113.57727389730132
  14. }
  15. result.zoom = result.zoom || 15
  16. result.pitch = result.pitch || 60
  17. result.bearing = result.bearing || 60
  18. return result
  19. }
  20. let listStatus = (() => {
  21. let args = analysis()
  22. return function () {
  23. let result = []
  24. let center = map.getCenter()
  25. args.lon = center.x
  26. args.lat = center.y
  27. args.zoom = map.getZoom()
  28. args.pitch = map.getPitch()
  29. args.bearing = map.getBearing()
  30. for (let key in args) {
  31. result.push(`${key}=${args[key]}`)
  32. }
  33. let url = location.pathname + '?' + result.join('&')
  34. history.pushState({
  35. url,
  36. title: document.title
  37. }, document.title, url)
  38. }
  39. })()
  40. export {
  41. analysis,
  42. listStatus
  43. }