直接从搜索字词中嵌入谷歌地图?

时间:2012-03-13 03:36:56

标签: google-maps geolocation

基本上我想为我网站上的某些术语嵌入地图(例如“纽约”),但我不想手动输入所有这些术语的纬度/经度坐标。这些术语无论如何都是常见/标准的,无论如何,谷歌地图的搜索基本上总是在第一次尝试时正确。

理想情况下,我只需要一点点javascript,例如

generateMap("New York");

这将为搜索词“纽约”的嵌入式谷歌地图提供iframe。

这可能吗?

3 个答案:

答案 0 :(得分:0)

是的,这是可能的。如果您只想要一张静态地图图片,只需使用这样的网址即可获得您想要的内容:

http://maps.googleapis.com/maps/api/staticmap?center=Brooklyn+Bridge,New+York,NY&zoom=14&size=512x512&maptype=roadmap&markers=color:blue%7Clabel:S%7C40.702147,-74.015794&markers=color:green%7Clabel:G%7C40.711614,-74.012318&markers=color:red%7Ccolor:red%7Clabel:C%7C40.718217,-73.998284&sensor=false

您可以看到您可以直接在“center”参数中使用“Brooklyn Bridge,New York”这样的地址。有关详细信息,请参阅http://code.google.com/apis/maps/documentation/staticmaps/

答案 1 :(得分:0)

如果你想要一个功能齐全的谷歌地图,它有点复杂,基本上你应该做的是首先使用所谓的“地理编码服务”(这是谷歌地图javascript api v3的一部分:{{3} })搜索该地点并得到它的滞后和lng,然后将你的谷歌地图对象重定向到滞后和lng的中心。

您可以在此处参考此示例的源代码:http://code.google.com/apis/maps/documentation/javascript/geocoding.html

它包含您需要的所有部分,只需将它们放在一起:)

答案 2 :(得分:0)

function generateMap(term) {
    var url = "http://maps.google.com/maps?=q=".encodeURIComponent(term)."&output=embed&t=m&z=7";
    var iframe = document.getElementById("mapframe");
    iframe.style.display = '';
    iframe.src = url;
}

...

<iframe src="about:blank" width="400" height="300" id="mapframe" style="display:none"></iframe>