我想要一个靠近特定距离的latlng值。我浏览了谷歌地图 api v3 的文档。
看看我的代码:
generateCirclepolygon(){
for (let location of this.pointsLocation) {
let LatLng:any = {
lat: parseFloat(location.lat),
lng: parseFloat(location.lng)
};
let newpoints = [];
var polypoint = google.maps.geometry.spherical.computeOffset(LatLng , 3000 , 0)
console.log(polypoint , 'point');
}
}
运行此代码后,我得到ERROR TypeError: a.lat is not a function
.
我正在向具有lat
和lng
值并且它们是数字的对象发送一个LatLng
对象。 3000 是以米为单位的距离,0 是方向(即从北开始顺时针方向为 0 度(。
我想要从我的点到北 3000 米的 latlng 值。我的主要目标是通过重复此操作来围绕点绘制一个圆形多边形以获得点数组。
相关问题:
- 谷歌地图a.lat不是一个函数
- Google Maps API a.lat 不是函数错误
根据文档,computeOffset
方法将google.maps.LatLng作为参数:
computeOffset(from, distance, headinging[, radius](
参数:
from:LatLng 距离:数字标题:数字半径(可选(:数字
返回值:LatLng 返回从指定标题中的原点移动距离(以从北顺时针方向表示的度数(所产生的LatLng
。
您正在提供一个 LatLngLiteral(它没有.lat
方法,它具有.lat
属性。
let LatLng:any = {
lat: parseFloat(location.lat),
lng: parseFloat(location.lng)
};
应该是:
let LatLng:any = new google.maps.LatLng(
parseFloat(location.lat),
parseFloat(location.lng)
);