2014-09-22 79 views

回答

1

我不知道如果我正確地理解你的問題......可以使用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 map API中的一個實現

google.maps.geometry.spherical.computeDistanceBetween (latLngA, latLngB); 

如果喲您在繪製多邊形時遇到問題請在此處查看此地圖谷歌地圖示例 https://developers.google.com/maps/documentation/javascript/examples/polygon-simple

您可能需要爲標記做一些自定義文本疊加。 也許使用的MapLabel類從:https://code.google.com/p/google-maps-utility-library-v3/

var mapLabel = new MapLabel({ 
      text: 'Test', 
      position: new google.maps.LatLng(50,50), 
      map: map, 
      fontSize: 20, 
      align: 'right' 
     }); 

或者你可以簡單地創建一些自定義的多邊形和繪製它們。對於所有的數字可能會有點工作。

+0

我已經繪製了一個多邊形的googlemap,我想要標籤在每個多邊形的邊上。這更好地描述了這個問題https://groups.google.com/forum/#!topic/google-maps-js-api-v3/YLRW3tWmWYE 即使在V3中使用ELabels時,該代碼也不起作用。我也希望旋轉標籤,因爲它顯示在我的圖像中。或者最好的是,在我的第二個圖像中有類似的東西。 – 2014-09-22 11:44:14

相關問題