1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- function analysis () {
- let result = {}
- let args = location.search.substr(1)
- args = args.split('&')
- args.forEach(arg => {
- let index = arg.indexOf('=')
- if (~index) {
- result[arg.substring(0, index)] = Number(arg.substr(index + 1))
- }
- })
- if (!result.lat || !result.lon) {
- result.lat = 22.252832648721693
- result.lon = 113.57727389730132
- }
- result.zoom = result.zoom || 16
- result.pitch = result.pitch || 60
- result.bearing = result.bearing || 60
- return result
- }
- let listStatus = (() => {
- let args = analysis()
- return function () {
- let result = []
- let center = map.getCenter()
- args.lon = center.x
- args.lat = center.y
- args.zoom = map.getZoom()
- args.pitch = map.getPitch()
- args.bearing = map.getBearing()
- for (let key in args) {
- result.push(`${key}=${args[key]}`)
- }
- let url = location.pathname + '?' + result.join('&')
- history.pushState({
- url,
- title: document.title
- }, document.title, url)
- }
- })()
- function mapGoto(args, duration = 1000) {
- // map.animateTo({
- // center: [(map.getCenter().x + args.center[0]) / 2,
- // (map.getCenter().y + args.center[1]) / 2],
- // zoom: 15
- // }, {duration: 2000});
- // setTimeout(() => {
- map.animateTo(args, {duration});
- // }, 2000)
- }
- export {
- mapGoto,
- analysis,
- listStatus
- }
|