Javascript 在谷歌地图上的特定位置绘制标记
我已经使用GoogleMapAPI javascript创建了一个小工具。它以地名作为输入,在提交表单时,会在该位置放置标记。这是非常基本的用法。但我想实现的是Javascript 在谷歌地图上的特定位置绘制标记,javascript,google-maps,Javascript,Google Maps,我已经使用GoogleMapAPI javascript创建了一个小工具。它以地名作为输入,在提交表单时,会在该位置放置标记。这是非常基本的用法。但我想实现的是 以该位置的经纬度为基准,将其作为中心的标记(已完成) 将一个标记放在距离中心10英里处的顶部位置 将一个标记放置在距离中心10英里的底部位置 将一个标记放在距离中心10英里的左侧位置 将距离中心10英里的一个标记放置到右侧位置 所以基本上总共有5个标记。一个在中间,四个在顶部、底部、左侧和右侧,距离正好10英里。我该怎么做呢?谷歌地图J
所以基本上总共有5个标记。一个在中间,四个在顶部、底部、左侧和右侧,距离正好10英里。我该怎么做呢?谷歌地图JS API有一个几何图形库。您需要将其包括在API调用中:
https://maps.googleapis.com/maps/api/js?sensor=false&libraries=geometry
包含允许传递坐标、距离和航向的方法
0/360°
=北部,90°
=东部,180°
=南部,等等
因此,如果要计算距离坐标0,0
以东10 km处的点,可以执行以下操作:
let point = google.maps.geometry.spherical.computeOffset(new google.maps.LatLng(0,0), 10000, 90);
距离以米为单位传递,因此您可以简单地将以英里为单位的距离乘以1609,34
更多信息请点击此处:
概念证明:
var映射;
函数initMap(){
let center=new google.maps.LatLng(53.051185,-2.492474);
map=new google.maps.map(document.getElementById('map-canvas'){
缩放:13,
中心:中心
});
var marker=new google.maps.marker({
位置:中,
地图:地图,
});
添加标记(中心,1000,0);
添加标记(中心,1000,90);
添加标记(中心,1000,180);
addMarker(中心,1000270);
}
函数addMarker(坐标、偏移、航向){
让point=google.maps.geometry.spherical.computeOffset(坐标、偏移、航向);
var marker=new google.maps.marker({
位置:点,,
地图:地图,
});
}
initMap()代码>
#地图画布{
高度:200px;
}
这可能是重复的:@GrafiCodeStudio,可能是重复的,但提供的答案不好。它使用固定半径,但由于地球不圆,因此不精确。有关API提供的更简单、更精确的计算,请参见下面的答案。谢谢。我找到了问题所在。你的回答首先对我不起作用,你说“你不是巫师”。我觉得很冒犯,所以我否决了它。问题是,我在把每个标记点放在地图上之前对它们进行反向地理编码,因为我想检索这些标记的地址。最后,它做错了什么。因此,我刚刚删除了地理编码部分,并仅使用您的代码对其进行了修复。我将投票表决,并将其标记为正确答案。再次感谢。我不是想冒犯你,但你应该知道,仅仅发布一个截图并说它不起作用对其他人,尤其是那些试图帮助你的人是没有帮助的。。。别紧张!