900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > 记录:GoogleMap 谷歌地图经纬度转屏幕坐标z y 偏移量

记录:GoogleMap 谷歌地图经纬度转屏幕坐标z y 偏移量

时间:2022-01-03 17:30:03

相关推荐

记录:GoogleMap 谷歌地图经纬度转屏幕坐标z y 偏移量

谷歌地图经纬度转坐标

注意:latLng为事件函数触发得到的event对象

转换:普通坐标根据new window.google.maps.LatLng(lat, lng)实现转换

第一种方式(优先使用)

let mapOverlay = new window.google.maps.OverlayView()mapOverlay.setMap(this.maps)let p = mapOverlay.getProjection().fromLatLngToContainerPixel(latLng)let x = p.xlet y = p.y

第二种方式

1、函数:

LatLng2Pixel (latLng) {// 经纬度转屏幕坐标xylet scale = Math.pow(2, this.maps.getZoom())let proj = this.maps.getProjection()let bounds = this.maps.getBounds()let nw = proj.fromLatLngToPoint(new window.google.maps.LatLng(bounds.getNorthEast().lat(), bounds.getSouthWest().lng()))let point = proj.fromLatLngToPoint(latLng)return new window.google.maps.Point((point.x - nw.x) * scale, (point.y - nw.y) * scale)}

2、触发取值:

let pixel = this.LatLng2Pixel(new window.google.maps.LatLng(lat, lng))x = pixel.xy = pixel.y

注意:

这种方式在谷歌地图0-4级会出现坐标转换到当前屏幕之外的问题(即:多一个屏幕尺寸的px或者少一个屏幕尺寸的px)

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。