Google Maps API 3 搜索框

Posted

技术标签:

【中文标题】Google Maps API 3 搜索框【英文标题】:Google Maps API 3 search box 【发布时间】:2011-11-08 15:15:57 【问题描述】:

我不知道如何在我的谷歌地图中实现搜索框。我有它,用户可以从表单中选择一些东西,并在地图上加载标记。现在我想添加他们可以使用谷歌搜索框输入城市和州的位置,比如在 maps.google.com 上。这可以通过 API v. 3 完成吗?

【问题讨论】:

我不知道如何使用 google 搜索框来完成,但有几个示例可以帮助您解决问题Example of geocodingExample of geocoding with jquery 【参考方案1】:

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); 
             
        
    );
;

【讨论】:

我怎样才能获得该地点的名称或地址等其他信息? @Alp:上面的用例描述了你已经知道名字或地址,想要得到对应的位置(lat,lng)的情况。如果您想在某个地点附近找到有趣的地方,那么您可以查看Google places。 @Alp 我需要与您在评论中要求的内容完全相同的东西,这就是您要寻找的东西:developers.google.com/maps/documentation/geocoding/#Geocoding 您现在可能已经找到了您想要的东西,但是仍然;) 您正在寻找的是“反向地理编码”(即从纬度和经度点查找文本地址)。

以上是关于Google Maps API 3 搜索框的主要内容,如果未能解决你的问题,请参考以下文章

使用Javascript从Google Places搜索api获取纬度和经度

Google Maps Geocoding API(如何获取纬度/经度)

如何将 Google 地图搜索框添加到我的自定义地图?

Google Maps API 文本搜索位置

Urbanspoon 如何显示地图?

Google Maps API V3 和本地搜索问题 - 空结果?