2011-10-05 101 views
0

我的应用程序是一个php程序,我只有地址名称,而不是地图上的协调。但我发现google map API需要协调来固定地址。我该怎么做?谢谢。我应该如何将Google地图整合到我的应用程序中?

我有地址: '观塘%20牛头角%20创业街%202号%20美亚工业大厦%202%楼202A%20202室'。 它可以搜索,并在谷歌地图应用针,但在使用谷歌的API做地理编码我,它让我ZERO_RESULT:

http://maps.googleapis.com/maps/api/geocode/json?address=%E8%A7%80%E5%A1%98%20%E7%89%9B%E9%A0%AD%E8%A7%92%20%E5%89%B5%E6%A5%AD%E8%A1%97%202%E8%99%9F%20%E7%BE%8E%E4%BA%9E%E5%B7%A5%E6%A5%AD%E5%A4%A7%E5%BB%88&sensor=false

+1

你正在寻找的过程称为地理编码:http://code.google.com/apis/maps/documentation/geocoding/ –

+0

更新一些地理编码问题的问题。 – DNB5brims

+0

固定与params,地区:香港。 – DNB5brims

回答

1

地址只是转换成经/纬度第一。您可以使用javascript来完成此操作,也可以使用PHP(稍后将其缓存)。这里是一个简化的功能,为你做

function postcode_to_latlon($postcode){ 

    $xml = simplexml_load_file('http://maps.googleapis.com/maps/api/geocode/xml?sensor=false&address='.$postcode); 

    $lat = $xml->result->geometry->location->lat; 
    $lon = $xml->result->geometry->location->lng; 

    return array($lat, $lon); 

} 

这个过程被称为地理编码。

+0

但我得到了一些问题,例如,我尝试这个地址转换为这样的协调:http://maps.googleapis.com/maps/api/geocode/xml?sensor=false&address=%E8%A7%80 %E5%A1%98%20%E7%89%9B%E9%A0%AD%E8%A7%92%20%E5%89%B5%E6%A5%AD%E8%A1%97%202%E8 %99%9F%20%E7%BE%8E%E4%BA%9E%E5%B7%A5%E6%A5%AD%E5%A4%A7%E5%BB%88%202%E6%A8%93 %202A%20202%E5%AE%A4 – DNB5brims

+0

它什么都没发现,但是如果我粘贴谷歌地图中的地址搜索,它可以固定地址,如下所示:http://maps.google.com/maps?q= %E8%A7%80%E5%A1%98%2520%E7%89%9B%E9%A0%AD%E8%A7%92%2520%E5%89%B5%E6%A5%AD%E8%A1 %97%25202%E8%99%9F%2520%E7%BE%8E%E4%BA%9E%E5%B7%A5%E6%A5%AD%E5%A4%A7%E5%BB%88%25202 %E6%A8%93%25202A%2520202%E5%AE%A4&HL = EN&即= UTF8&SLL = 0,0&SSPN = 141.573652,316.054688&vpsrc = 6&hnear =迈耶+工业+大厦+ 2 +创+业+ ST,+香+孔&T = M&Z = 16 – DNB5brims

+0

尝试用http://where.yahooapis.com/geocode?q=your_addr&flags=J&gflags=R&appid=your_app_key。它返回lat:22.319700,lon:114.223427。但是你必须先创建一个应用程序密钥。 –

0

地址不能被随后找到。尝试简化地址或切换东西,这样Google可能会更好地理解。同时检查地址字符串中的错误。

+0

用参数固定,地区:香港。我认为谷歌地图网络假设我的应用程序是使用隐藏区域香港。在我添加&region = HK之后,所有工作都像魔术一样。 – DNB5brims

相关问题