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