[英]Google Map Polygon Distance in Meters
如何使用Google Map API實現此目的?
http://i59.tinypic.com/6dzb88.jpg
兩側的儀表。
如果我右鍵單擊Google Maps距離,則可以進行如下操作: http : //i57.tinypic.com/21e7w1.jpg
基本上,我希望繪制的多邊形看起來像第一幅或第二幅圖像。 (我需要標簽)可以嗎?
我不確定我是否正確理解了您的問題...但是,可以使用http://en.wikipedia.org/wiki/Haversine_formula計算球體上兩個經度/緯度點之間的距離
JavaScript實現
rad = function(x) {return x*Math.PI/180;}
distHaversine = function(p1, p2) {
var R = 6371; // earth's mean radius in km
var dLat = rad(p2.lat() - p1.lat());
var dLong = rad(p2.lng() - p1.lng());
var a = Math.sin(dLat/2) * Math.sin(dLat/2) +
Math.cos(rad(p1.lat())) * Math.cos(rad(p2.lat())) * Math.sin(dLong/2) * Math.sin(dLong/2);
var c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a));
var d = R * c;
return d.toFixed(3);
}
我認為雖然Google Maps api中已經有一個實現
google.maps.geometry.spherical.computeDistanceBetween (latLngA, latLngB);
如果您在繪制多邊形時遇到麻煩,請在此處查看google maps示例https://developers.google.com/maps/documentation/javascript/examples/polygon-simple
您可能需要為標記做一些自定義的文本覆蓋。 也許可以使用https://code.google.com/p/google-maps-utility-library-v3/中的MapLabel
類:
var mapLabel = new MapLabel({
text: 'Test',
position: new google.maps.LatLng(50,50),
map: map,
fontSize: 20,
align: 'right'
});
或者,您可以簡單地創建一些自定義多邊形並繪制它們。 對於所有數字,可能都需要一些工作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.