将 Google 地图行车路线添加到您的网站

尽管有如此多的地图应用程序和服务(apps and services)可以将您从 A 点带到 B 点,但最终的地图之王还是Google Maps。我在我的电脑、平板电脑和 90% 的时间在我的智能手机上使用它。它拥有最好的数据、最多的导航和路线选择以及街景和步行(Street View and walking)骑自行车和公共交通信息(biking and mass transit info)等酷炫功能。

但是,如果您需要使用Google 网站之外的地图或路线怎么办?(map or directions)假设(Suppose)您有自己的婚礼网站(wedding website)或个人博客,客人(blog and guests) 可以访问您的网站,输入他们将来自的地址并自动获取前往活动地点(event location)的路线!

好吧,有几种方法可以实现这一目标。最简单的方法是使用Google Maps生成的嵌入代码将地图嵌入到您的网页中。第二种方式更具技术性,但更具可定制性和动态性。我将在下面提到这两种方法。

嵌入谷歌地图

如果您只想显示从一个位置到另一个位置的路线,最简单的做法是使用嵌入代码嵌入您正在查看的任何地图。首先(First),继续在谷歌地图(Google Maps)中设置你想要的任何方向,然后点击页面右下角的齿轮图标。

分享或嵌入地图

单击共享或嵌入地图( Share or embed map),然后单击嵌入地图(Embed map)选项卡。在这里,您可以为地图选择尺寸,然后复制iframe 代码并将其拖放(iframe code and drop)到您喜欢的任何网页上。

嵌入地图

此方法的唯一缺点是用户只能看到静态地图。在下面的第二种方法中,您可以创建一个表单,用户可以在其中输入任何起始地址,它将生成从该地址到您选择的目标地址的映射。(destination address)

创建 Google 地图表单

为了说明第二种方法的含义,请继续在下面的框中输入美国地址(US address),以获取从您所在位置到我家的路线:

酷吧(Cool huh)?您可以在任何网站、博客或任何可以放入HTML 代码(HTML code)的地方轻松创建这个小表单!这对于小型企业网站(business web)也非常有用,因为您可以将其放在您的联系页面上,人们(contact page and people)可以快速获取路线,而不必复制您的地址,打开一个新窗口,然后输入他们的起始地址(starting address)

那么我们如何去创建这个修改后的获取方向框呢?首先(Well),我们需要为Google用于路线的URL获取正确的语法。幸运的是,我们可以通过获取两个地方之间的路线然后从地址栏中复制(address bar)URL来解决这个问题。您也可以单击页面右下角的小齿轮图标,然后选择共享或嵌入地图(Share or embed map)

分享或嵌入地图

共享链接(Share link)选项卡将包含URL,它与浏览器地址栏中(browser address bar)URL相同。我已经继续并粘贴了下面的整个 URL,(URL below)只是为了向您展示它的外观。

分享链接地图

https://www.google.com/maps/dir/3600+Thorp+Springs+Dr,+Plano,+TX+75025,+USA/ 854+Deerfield+Rd,+Allen,+TX+75013,+USA/@33.1125686,-96.7557749,13z/ data=!3m1!4b1!4m13!4m12!1m5!1m1!1s0x864c3d45018517a5:0xbabd3c91a1321997!2m2!1d-96.762484!2d33.08947!1m5!1m1! 1s0x864c16d3018a7f4f:0xab2052b5786cd29f!2m2!1d-96.666151!2d33.133892

哎呀!那是相当长的!里面有很多东西,其中大部分没有任何意义!Google Maps URL参数过去非常简单明了,但新的URL 结构(URL structure)相当复杂。值得庆幸的是,您仍然可以使用旧参数,Google会自动将它们转换为新版本。要了解我的意思,请查看下面的链接。

http://maps.google.com/maps?saddr=start&daddr=end

来吧,试一试。将地址放在引号中作为起始地址和结束地址,然后将URL粘贴(address and paste)到浏览器中!我替换了从我的家乡(home city)新奥尔良开始并以德克萨斯州(New Orleans)休斯顿(Houston)结束,所以这就是我的Google 地图(Google Maps)路线URL的样子:

http://maps.google.com/maps?saddr=”new orleans, la”&daddr=”houston, tx”

有用!但是,正如您所见,一旦地图完全加载, Google 地图(Google Maps)会将链接转换为更复杂的内容。好的,现在我们有了一个可以传递给Google Maps的合理(Google Maps)URL,我们需要创建一个包含两个字段的简单表单,一个用于起始地址(starting address),一个用于目标地址(destination address)

如果您希望人们只需输入他们的地址并获取到您所在位置的路线,那么我们将希望隐藏第二个字段并已将其设置为目标地址(destination address)

<form action=”http://maps.google.com/maps” method=”get” target=”_blank”> Enter your starting address: <input type=”text” name=”saddr” /> <input type=”hidden” name=”daddr” value=”854 Deerfield Rd, Allen, TX” /> <input type=”submit” value=”get directions” /> </form>

查看上面的代码。第一行以表单开头,表示当单击提交按钮(submit button)时,数据应发送到 maps.google.com/maps。target=blank表示我们希望结果在新窗口中打开。然后我们有一个起始地址的(starting address)文本框(text box),它是空白的。

第二个文本框(text box)是隐藏的,值是我们想要的目标地址。(destination address)最后,有一个标题为“Get Directions”的提交按钮。现在,当有人输入他们的地址时,他们会得到这个:

地图方向

您可以使用一些额外的参数自定义方向和地图。例如,假设您不希望默认视图(default view)是地图,而是希望它是Satellite并显示Traffic

http://maps.google.com/maps?saddr=%22new+orleans,+la%22&daddr=%22houston,+tx%22&ie=UTF8&t=h&z=7&layer=t

注意URL中的(URL)layer=t t=h字段。layer=t 表示traffic layer and t=h means混合地图!t也可以设置为m用于法线贴图,k用于卫星,  p用于地形。z缩放级别(zoom level),您可以将其从 1 更改为 20。在上面的URL中,它设置为 7。只需(Just)将它们附加到您的最终URL,您现在就可以在您的网站上获得高度定制的Google 地图获取路线表格(Google Maps Get Directions form)

对此有任何问题,发表评论,我会尽力提供帮助!享受!



About the author

我是一名硬件工程师,专门从事iPhone、iPad等苹果产品的设计和开发。我在 iOS 和边缘设备以及 Git 和 Swift 等软件开发工具方面都有经验。我在这两个领域的技能使我对 Apple 设备操作系统 (OS) 如何与应用程序和数据源进行交互有了深刻的理解。此外,我在 Git 方面的经验使我能够处理代码版本控制系统,这有助于在开发软件时提高效率和生产力。



Related posts