女士和男士,
长版
我有一个充满地址的数据库,我需要在Google地图上绘制,并嵌入我的网页。地址以文本方式显示,而不是LatLong,因此:
“芝麻街22号,小镇,小镇,AB1 9YZ”
就像我说的,我有很多这些,他们都需要在一张地图上绘图。
我很高兴使用jQuery / Javascript,PHP,XML等来完成它。
我看到很多网站都在这样做,看似很容易,例如:
但是,我不知道Yell是使用LatLongs还是使用完整地址。无论如何,我只有地址可供使用。
短版
需要在一个Google地图窗口中绘制多个文本地址,并将其嵌入我的网站。
声明
我在网上搜索了一个多星期,无法找到明确的答案。我确实发现可能被归类为答案(不,不可能),但我觉得这很难相信这个时代,我们可以相对容易地对网站做些什么,现在。
也许我很乐观......
任何你能给予的任何帮助都绝对是金色的,非常感谢!
非常感谢!
丹!
答案 0 :(得分:0)
您需要地理编码您的地址,即将它们转换为lat / lng坐标,然后添加它们。
如果您已经在使用Google,那么显而易见的选择就是使用Google的地理编码器。
您可以使用服务器端Google Maps Geocoding API,如果您创建帐户和API密钥,则可以对地址进行地理编码,如下所示:
https://maps.googleapis.com/maps/api/geocode/json?address=1600+Amphitheatre+Parkway,+Mountain+View,+CA&key=API_KEY
返回的JSON包括lat / lng等。用它将它放在地图上。
或者(这通常是更好的解决方案),您可以使用client side javascript geocoder built into the javascript api,方式类似于以下方式:
var geocoder = new google.maps.Geocoder();
var address = "Mountain View, CA"
geocoder.geocode( { 'address': address}, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
// results contains multiple locations, ordered by estimated relevance
var marker = new google.maps.Marker({
map: map,
position: results[0].geometry.location
});
} else {
alert("Geocode was not successful for the following reason: " + status);
}
});
This article提供了您可能希望采用的客户端战略的一个很好的例子。