我正在 WordPress 中工作,想要显示嵌入式 Google 地图
iframes
。我在后端添加了一个自定义元框来保存文本字符串。
我使用 Google 地图创建地图链接,然后保存整个可嵌入 iframe 代码。这为工作流程添加了另一个步骤。我必须手动转到 Google 地图,找到地址,然后保存
iframe
代码。
我更愿意只保存地址并让我的
PHP
将其转换为 iframe
。 Google Maps API 有没有办法通过发送地址和可能的地名来获取 iframe
?
Google 允许直接使用地址并在 iframe 中工作的 URL 调用。您只需要在调用中告诉 Google(正如编码成瘾者指出的那样)输出已嵌入。
您拨打的电话:
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 日起生效。
也许有点晚了,但以防万一有人需要它
要获取新 api 结构中的位置,请按照以下步骤操作
样品:
<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>
这些解决方案对我不起作用(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>
在你的回答中,你说你修复了它,但你必须逆转它们。问题实际上是由于没有转义 URL 中的特殊字符造成的。与号 (&) 是地址栏中的一个特殊字符,它告诉服务器您正在向其传递一个变量,因此基本上与号之后的所有内容都将被忽略。
修复很简单,将 & 更改为 %26。
例如
https://www.google.com/maps/preview#!q=Randall Miller %26 Associates, 300 E Broadway, Logansport, IN 46947
就我个人而言,我也会转义其他所有内容,例如带有 %20 的空格和带有 %2C 的逗号。
例如
https://www.google.com/maps/preview#!q=Randall%20Miller%20%26%20Associates%2C%20300%20E%20Broadway%2C%20Logansport%2C%20IN%2046947
有关转义代码列表,请访问此页面。
我知道转义码会使阅读变得更加困难,但它可以防止任何故障/错误/错误的发生。