转换地名& Google地图网址和iFrame的地址

时间:2014-01-15 14:40:29

标签: google-maps

背景

我在WordPress工作,想要展示嵌入式Google地图iframes。我在后端添加了一个自定义元变量来保存文本字符串。

目前

我使用Google地图创建地图链接,然后保存整个可嵌入的iframe代码。这为工作流程增加了另一个步骤。我必须手动转到Google地图,找到地址,然后保存iframe代码。

目标

我更愿意保存地址并让PHP将其转换为iframe。 Google Maps API中是否有办法仅通过发送地址和可能的地名来获取iframe

4 个答案:

答案 0 :(得分:23)

自2016年1月起更新

Google允许直接使用地址并在iframe中使用的网址调用。您只需要在嵌入输出的调用中告诉Google(作为 coding addicted pointed out )。

您拨打电话:

https://www.google.com/maps

你给出了两个GET参数:

q=[ADDRESS]
output=embed

iframe调用在HTML中看起来像这样:

<iframe src="https://www.google.com/maps?q=[ADDRESS]&output=embed"></iframe>

示例:

<iframe src="https://www.google.com/maps?q=Randall Miller %26 Associates 300 E Broadway, Logansport, IN 46947&output=embed"></iframe>

所以使用PHP,这是我原来问题的一部分,我会说:

<iframe src="https://www.google.com/maps?q=<?php echo $name . ' ' . $address; ?>&output=embed"></iframe>

这是截至2016年7月14日的工作。

答案 1 :(得分:16)

也许这有点晚了,以防任何人需要它

获取新api形成的位置,请按照以下步骤进行操作

  • 访问:https://www.google.com/maps/并搜索您想要的区域 在您的网站上显示。
  • 一旦区域显示在地图上,打开侧面抽屉(如果存在)或单击屏幕右下角的齿轮(齿轮)图标(如果存在)。
  • 点击“分享”按钮。
  • 点击“嵌入地图”点按。
  • 选择您的选项并复制在该屏幕上提供给您的iframe代码。

样品:

<iframe src="https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d852.8754667521503!2d29.96481543232134!3d31.23452741247449!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x0000000000000000%3A0x2eb3093918d73855!2sHeba!5e0!3m2!1sen!2seg!4v1446570384113" width="600" height="450" frameborder="0" style="border:0" allowfullscreen></iframe>

enter image description here

答案 2 :(得分:3)

解决方案对我不起作用(2016年1月)。以下是我在iframe中使用的内容:

src='https://maps.google.com/maps?&q=your_address_formated_as_you_want&output‌​=embed'

完成iframe代码:

<iframe src='https://maps.google.com/maps?&q=your_address_formated_as_you_want&output‌​=embed'></iframe>

答案 3 :(得分:2)

在你的回答中,你说你修好了但是你必须扭转它们。问题实际上是由于没有转义URL中的特殊字符。 &符号(&amp;)是地址栏中的一个特殊字符,它告诉服务器您将其传递给变量,因此基本上所有符号都被忽略。

修复很简单,用%26 更改&amp;

E.g。

https://www.google.com/maps/preview#!q=Randall Miller %26 Associates, 300 E Broadway, Logansport, IN 46947

我个人也会逃避其他一切,例如%20 的空格和%2C 的逗号。

E.g。

https://www.google.com/maps/preview#!q=Randall%20Miller%20%26%20Associates%2C%20300%20E%20Broadway%2C%20Logansport%2C%20IN%2046947

有关转义码的列表,请visit this page

我知道转义码会让它更难阅读,但它可以防止任何错误/错误/错误发生。