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

宾夕法尼亚大街东南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是首选或者任何有用的信息。


当前回答

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

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

http://mapof.it/

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

其他回答

c#的Replace方法通常适用于我:

foo = "http://maps.google.com/?q=" + address.Text.Replace(" ","+");

我有一个类似的问题,我需要为站点上的每个地址(每个地址都包装在一个地址标签中)完成此操作。这一点jQuery对我有用。它会抓取每个<address>标签,并将其包装在一个谷歌映射链接中,其中包含标签所包含的地址!

$("address").each(function(){

    var address = $(this).text().replace(/\,/g, '');
    var url = address.replace(/\ /g, '%20');

    $(this).wrap('<a href="http://maps.google.com/maps?q=' + url +'"></a>');

}); 

工作示例——> https://jsfiddle.net/f3kx6mzz/1/

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

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

最好的方法是这样说:

var mapUrl = "http://maps.google.com/maps?f=q&amp;source=s_q&amp;hl=en&amp;geocode=&amp;q=16900+North+Bay+Road,+Sunny+Isles+Beach,+FL+33160&amp;aq=0&amp;sll=37.0625,-95.677068&amp;sspn=61.282355,146.513672&amp;ie=UTF8&amp;hq=&amp;hnear=16900+North+Bay+Road,+Sunny+Isles+Beach,+FL+33160&amp;spn=0.01628,0.025663&amp;z=14&amp;iwloc=A&amp;output=embed"

记得在必要时替换第一和第二个地址。

你可以看看工作样本

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

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

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