2010-10-28 61 views
1

我使用谷歌地圖V3谷歌地圖 - 加設道路的方向,圓,郵政編碼地區

下一頁功能,我想補充運行的基本地圖包括:

  • 取管線道路的方向而不是直接指向點折線
  • 從特定點畫一個圓圈75公里環繞
  • 突出顯示特定點的郵政編碼。

我很感激人們的思想有關這些主題

var geocoder; 
var map; 

function fnPresentMap() 
{ 
geocoder = new google.maps.Geocoder(); 

var locationArray = new Array(); 
     locationArray[0] = new Array(); 
     locationArray[1] = new Array(); 

     locationArray[0][0] = document.getElementById('LAT_OUT_1').innerHTML; 
     locationArray[0][1] = document.getElementById('LON_OUT_1').innerHTML; 

     locationArray[1][0] = document.getElementById('LAT_OUT_2').innerHTML; 
     locationArray[1][1] = document.getElementById('LON_OUT_2').innerHTML; 

    var latlng = new google.maps.LatLng(44, -75); 

    var myOptions = { 
    zoom: 8, 
    center: latlng, 
    mapTypeControl: true, 
    mapTypeControlOptions: { 
    style: google.maps.MapTypeControlStyle.DROPDOWN_MENU}, 
    navigationControl: true, 
    mapTypeId: google.maps.MapTypeId.ROADMAP 
    }; 

     map = new google.maps.Map(document.getElementById("map"), myOptions); 
     var myLatlng; 
    var image_name; 

     for (var count = 0; count < locationArray.length; ++count){  
    image_name = "img/marker_"+(count+1)+".png"; 
    myLatlng = new google.maps.LatLng(locationArray[count][0],locationArray[count][1]); 
       var marker = new google.maps.Marker({ 
         position: myLatlng, 
         map: map, 
     icon: image_name  
       }); 
     } 

    // re-center 
    var centerLocation = new google.maps.LatLng(locationArray[0][0],locationArray[0][1]); 
    map.setCenter(centerLocation); 

    // show line 
    var points = [ 
        new google.maps.LatLng(locationArray[0][0],locationArray[0][1]), 
        new google.maps.LatLng(locationArray[1][0],locationArray[1][1]) 
     ]; 

    var line = new google.maps.Polyline({ 
      map: map, 
      path: points, 
      strokeColor: "#FF0000", 
      strokeWeight: 2, 
      strokeOpacity: 1.0 
     }); 



    } 

回答

0
  • 爲了使兩個特定點之間的道路方向,你需要使用Google Maps API directions service。如果您查看文檔,您會發現非常直接的示例,可以提出路線請求,並將結果呈現在地圖上,作爲兩點之間的一條線。
  • 我認爲圍繞某個點繪製圓的最佳方法是繪製一個具有足夠點的多邊形來逼近一個圓。你可以找到這個here的一個很好的例子。
  • 要在特定點處突出顯示郵政編碼,我建議您使用Google Maps API reverse geocoding service(將緯度/經度轉換爲人類可讀地址)。您可以從返回的JSON響應中提取郵政編碼,然後使用infoWindow或其他類型的疊加層將其顯示在地圖上。
相關問題