2011-09-01 152 views
7

我无法弄清楚如何在我的谷歌地图中实现搜索框。我有它在哪里用户可以从窗体中挑选一些东西,并在地图上加载标记。现在我想添加他们可以在Google地图上输入城市和州的位置,例如在maps.google.com上。这可以通过API v。3来完成吗?Google Maps API 3搜索框

+0

我不知道如何与谷歌的搜索框完成,但有几个例子,可以帮助你开始你的问题[地理编码示例](http://code.google.com/apis/maps/documentation/javascript/examples/geocoding-simple.html)[使用jquery进行地理编码的示例](http://tech.cibul.net/ geocode-with-google-maps-api-v3 /) – Jorge

回答

26

此任务在Google地图中没有完整的“小部件”。但它很容易实现。在HTML中,您可以有一个文本字段和一个按钮“搜索”。 (相反,您可以在文本字段中处理Enter键)。

<input type="text" id="search_address" value=""/> 
<button onclick="search();">Search</button> 

在Javascript中实例化和使用地理编码:

var addressField = document.getElementById('search_address'); 
var geocoder = new google.maps.Geocoder(); 
function search() { 
    geocoder.geocode(
     {'address': addressField.value}, 
     function(results, status) { 
      if (status == google.maps.GeocoderStatus.OK) { 
       var loc = results[0].geometry.location; 
       // use loc.lat(), loc.lng() 
      } 
      else { 
       alert("Not found: " + status); 
      } 
     } 
    ); 
}; 
+0

我该如何获得附加信息,如该地点的名称或地址? – Alp

+1

@Alp:上面的用例描述了您已经知道名称或地址并且想要获取相应位置(lat,lng)的情况。如果您想在某个位置附近找到有趣的地方,那么您可以查看[Google地方](http://code.google.com/apis/maps/documentation/places/)。 – Jiri

+1

@Alp我需要一个确切的东西来请求你的评论,这就是你要找的:https://developers.google.com/maps/documentation/geocoding/#Geocoding你可能已经找到了什么你现在正在寻找,但仍然;) – mavili