我是谷歌地图API的新手,我在下面的谷歌地图工作。但是,我很难理解如何设置地址。我有2,000个条目,每个条目都包含一个存储在数据库中的地址,我拥有所需的所有数据来设置'给定机会的描述页面的地图onLoad的地址。但是,我不知道该怎么做。我想知道是否有人可以给我一个基本的例子来设置地址,城市,州,拉链,然后在地图上也有一个标记。
另外,我很困惑,如果我将地址的所有组件分开,我不需要地理编码,对吗?没有地理编码只是让您可以轻松地从未解析/长地址字符串创建地图,并限制您可以请求地理编码的次数?换句话说,如果我拥有存储在数据库中的所有地址组件(例如邮政编码,城市,州,地址等),那么我是否可以设置地址而不受谷歌地图地理编码限制的限制?
以下地址:
123 Flower Street, Miami, Florida 32826
我的JS到目前为止......
function initialize() {
var mapOptions = {
center: new google.maps.LatLng(-34.397, 150.644),
zoom: 8,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var map = new google.maps.Map(document.getElementById("map-canvas"), mapOptions);
}
google.maps.event.addDomListener(window, 'load', initialize);
我感谢任何建议!
非常感谢提前!
答案 0 :(得分:4)
您正在寻找地理编码:https://developers.google.com/maps/documentation/geocoding/
此处您有代码,可以在Google上查询您地址的位置,然后在收到的位置上指定标记:
function initialize() {
var mapOptions = {
center: new google.maps.LatLng(-34.397, 150.644),
zoom: 8,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var map = new google.maps.Map(document.getElementById("map-canvas"),
mapOptions);
var geocoder = new google.maps.Geocoder();
geocoder.geocode({ 'address': "123 Flower Street, Miami, Florida 32826" }, function (results, status) {
if (status == google.maps.GeocoderStatus.OK) {
map.setCenter(results[0].geometry.location);
var marker = new google.maps.Marker({
map: map,
position: results[0].geometry.location,
});
} else
alert("Problem with geolocation");
});
}
google.maps.event.addDomListener(window, 'load', initialize);