我正在制作一个应用程序,可以告诉我一个坐标是否包含在一个圆形内。每次我在地图上点击一个点时,我都会获得该坐标。我想知道这个新坐标是否包含在圆内。
我还想知道如何使一个圆占据离一个坐标5米的范围。在我的例子中,半径为:50000
,但我不知道如何进行转换以将值设置为米。
这是我的代码:
http://plnkr.co/edit/OI4sjcuS526rFYxPnvDv?p=preview
function initMap() {
var map = new google.maps.Map(document.getElementById('map'), {
center: {lat:4.624335 , lng: -74.063644 },
zoom: 5,
});
//circle coordinates
var circle = new google.maps.Circle({
map: map,
radius: 50000,
fillColor: '#FFFFFF',
opacity:0,
center:{lat:4.624335 , lng: -74.063644 }
});
google.maps.event.addListener(map, 'click', function(e) {
//I get new coordinates ( e.latLng)
});
}
谢谢!
更新
他们把这个问题标记为重复,并附上了这个解决方案 (http://jsfiddle.net/kaiser/wzcst/embedded/result/)
但是它并不能真正解决我的问题,因为正如您可以在图片中看到的那样,该解决方案失败了。
computeDistanceBetween
)和实际圆形半径相差几米。你试过用更小的圆吗?我想知道这是否可能是由于地球曲率引起的。圆形是否始终为测地线?那么计算距离的方法呢?话虽如此,你的问题仍然是一个重复的问题,就像标记的一样。 - MrUpsidown