1

我正在建設一個網站,並且我有一個Google地圖。我也有一個商業名稱列表,例如WH史密斯,曼徹斯特。通過商業名稱在谷歌地圖上獲取標記

假設在曼徹斯特只有一個,我怎樣才能在我的地圖上顯示一個標記,顯示WH Smith分支的位置?

我試過搜索,但沒有發現任何內容!

+1

你是指[this](http://www.geocodezip.com/v3_GoogleEx_places-searchboxC.html?q=WH%20Smith,%20Manchester。)?看起來像在曼徹斯特的WH史密斯的假設不是很好... – geocodezip 2013-03-02 20:48:48

+0

OMG!是的,就像那樣!它也可以工作,如果你在曼徹斯特之後添加英國的話:)是否有我可以使用的API? – Ciwan 2013-03-02 22:33:16

+0

請稍等,您是否說Google Maps API v3中已經內置了該功能? geocodezip.com,似乎只是一個教程列表..我是對的嗎? – Ciwan 2013-03-02 22:36:41

回答

1

我這樣做的方式是建立一個位置數組,其中每個位置都是必要信息的數組,按工具提示的順序html,緯度,經度,標題。我從這個網站獲得緯度和經度:http://universimmedia.pagesperso-orange.fr/geo/loc.htm所以你只需輸入城市中心。

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

       var businesslocations = [ 

         ['HTML TO DISPLAY ON TOOLTIP', LATITUDE, LONGITUDE,'LOCATION NAME'], 
         ['HTML TO DISPLAY ON TOOLTIP', LATITUDE, LONGITUDE,'LOCATION NAME'], 

將該數組關閉,然後進行其他地圖設置。然後設置地圖。然後使用該數組以編程方式設置其標記。 for循環遍歷不同的位置,然後抽出數組的4個元素。

 var bounds = new google.maps.LatLngBounds(); 

      var infowindow = new google.maps.InfoWindow(); 

      var marker, x; 

      for (x = 0; x < businesslocations.length; x++) { 
       var latllong = new google.maps.LatLng(businesslocations[x][1], businesslocations[x][2]); 
       marker = new google.maps.Marker({ 
       position: latlong, 
       map: map, 
       title: businesslocations[i][3] 
       }); 
       bounds.extend(latlong); 

       google.maps.event.addListener(marker, 'click', (function(marker, x) { 
       return function() { 
        infowindow.setContent(businesslocations[x][0]); 
        infowindow.open(map, marker); 
       } 
       })(marker, x)); 
      } 

      map.fitBounds(bounds);  
+0

感謝Hobbes,問題是我沒有Lat和Lang信息。我所擁有的是商業的名稱。從這我想要一個準確的標記在地圖上。有沒有辦法實現這一目標? – Ciwan 2013-03-02 12:41:30

+0

你只需要查看它們。我給的網站(http://universimmedia.pagesperso-orange.fr/geo/loc.htm)讓你輸入一個城市,然後給你經緯度。 – 2013-03-02 12:42:39

+0

即使我知道如何以編程方式查看它們(我沒有),那仍然不會給我一個準確的標記。一個城市是巨大的,我需要商標地址上的標記。 Google地方信息是否不以任何方式與Google地圖綁定? :( – Ciwan 2013-03-02 12:46:25