我正在阅读谷歌的API,但没有看到那里的例子,所有其他Googled-by-me示例都有点陈旧(大约1-2岁,大多数是基于API密钥的:S)。
我想要一个文字输入。发送按钮。以及iframe。
如何使用我自己的输入在地图上显示位置?
此时我的iframe看起来像那样:
<iframe width="230" height="180" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="<?php echo $src ?>">
输入:
<input id="googleMaps" name="googleMaps" type="text" />
此刻我正在尝试使用XML(但据我所知,推荐使用JSON?),但我在iframe中获取XML文本,例如:
This document had no style information.
<GeocodeResponse>
<status>
OK
</status>
<result>
<type>
locality
</type>
<type>
political
</type>
<formatted_address>
(...)
如何将此数据传递给Google并获取地图? :)
非常感谢。
答案 0 :(得分:1)
您需要使用Google地理编码API对地址进行反向地理编码以获取坐标,然后可以使用该坐标在地图上显示结果。例如,对于我的地址,我发布了地址参数,如下面的网址
中所示http://maps.googleapis.com/maps/api/geocode/json?address=154+Metro+Central+Heights+London+UK&sensor=true
坐标可以从生成的JSON获得,如下所示
"geometry": {
"location": {
"lat": 51.5001524,
"lng": -0.1262362
}
获取JSON的PHP代码
<?php
$address = $_GET['address'];
$address=str_replace(" ","+",$address);
if ($address) {
$json = file_get_contents('http://maps.googleapis.com/maps/api/geocode/json?address='.$address.
'&sensor=true');
echo $json;
}
?>
可以找到Javascript here。解析JSON的关键代码如下所示
$.getJSON("getjson.php?address="+address,
function(data){
lat=data.results[0].geometry.location.lat;
lng=data.results[0].geometry.location.lng;
//.... more map initialization code
}
);
我已经为您之前的问题here设置了一个工作示例,它可以帮助您了解如何在地图上生成标记。如果您需要进一步澄清,请告诉我。