在网上搜索了一段时间后,我找不到任何像这样的地址:

宾夕法尼亚大街东南1200号 华盛顿,哥伦比亚特区,20003年

并将其转换为可点击的链接:

http://maps.google.com/maps?f=q&source=s_q&hl=en&q=1200+Pennsylvania+Ave+SE,+Washington,+District+of+Columbia,+20003&sll=37.0625,-95.677068&sspn=44.118686,114.169922&ie=UTF8&cd=1&geocode=FT5MUQIdIDlp-w&split=0&ll=38.882147,-76.99017&spn=0.01064,0.027874&z=16&iwloc=A

jQuery或PHP是首选或者任何有用的信息。


当前回答

借鉴Michael Jasper和Jon Hendershot的解决方案,我提出以下建议:

$('address').each(function() {
    var text = $(this).text();

    var q    = $.trim(text).replace(/\r?\n/, ',').replace(/\s+/g, ' ');
    var link = '<a href="http://maps.google.com/maps?q=' + encodeURIComponent(q) + '" target="_blank"></a>';

    return $(this).wrapInner(link);
});

与以前提供的解决方案相比,该解决方案具有以下优点:

它不会删除<address>内的HTML标记(例如<br>标记),因此格式被保留 它正确地编码URL 它压缩了多余的空格,以便在编码后生成的URL更短、更干净、更易于阅读 它产生了有效的标记(Mr.Hendershot的解决方案创建了<a><address></address></a>,这是无效的,因为<address>这样的块级元素在<a>这样的内联元素中是不允许的。

注意:如果<address>标记包含块级元素,如<p>或<div>,则此JavaScript代码将生成无效标记(因为<a>标记将包含这些块级元素)。但如果你只是做这样的事情:

<address>
  The White House
  <br>
  1600 Pennsylvania Ave NW
  <br>
  Washington, D.C.  20500
</address>

那就没问题了。

其他回答

在http://www.labnol.org/internet/tools/short-urls-for-google-maps/6604/上,他们显示了一个简短的URL,工作得很好

地图url是相当笨拙的,特别是在发送即时消息,推特或电子邮件时。MapOf。它为您提供了一个快速的方法来链接到谷歌地图,只需指定位置的地址作为搜索参数。

http://mapof.it/

我在自己设计的几个应用程序中使用了它,效果非常好。

我刚发现这个,喜欢分享。

在maps.google.com上搜索你的地址 点击右下角的齿轮图标 点击“共享或嵌入地图” 单击短url复选框,并将结果粘贴在href..

另外,任何想要手动URLENCODE地址的人:http://code.google.com/apis/maps/documentation/webservices/index.html#BuildingURLs

您可以使用它来创建满足GM标准的特定规则。

这个怎么样?

https://maps.google.com/?q=1200宾夕法尼亚大道,华盛顿,哥伦比亚特区,20003

https://maps.google.com/?q=term

如果你有latong然后使用下面的URL

https://maps.google.com/?ll=latitude,longitude

例子:maps.google.com/ ?噢= 38.882147,-76.99017

更新

截至2017年,谷歌现在有一个官方创建跨平台谷歌地图url的方式:

https://developers.google.com/maps/documentation/urls/guide

你可以使用链接

https://www.google.com/maps/search/?api=1&query=1200%20Pennsylvania%20Ave%20SE%2C%20Washington%2C%20District%20of%20Columbia%2C%2020003 

如果你有纬度和经度,你可以使用波纹URL的任何部分或全部

https://www.google.com/maps/@LATITUDE,LONGITUDE,ZOOMNUMBERz?hl=LANGUAGE

例如: https://www.google.com/maps/@31.839472,54.361167,18z?hl=en