Javascript 谷歌地图-设置地址加载
我是谷歌地图API新手,下面的谷歌地图正在运行。然而,我很难理解如何设置地址。我有2000个条目,每个条目都包含一个存储在数据库中的地址,如果有机会,我有“设置”描述页面地图加载地址所需的所有数据。然而,我不知道如何做到这一点。我想知道是否有人可以给我一个基本的例子,设置地址,城市,州,邮政编码,然后在地图上也有一个标记 此外,我很困惑,如果我把地址的所有组成部分都分开,我就不需要地理编码,对吗?难道地理编码不只是让从未解析/长地址字符串创建地图变得容易,并限制您可以请求地理编码的次数吗?换句话说,如果我将所有地址组件(如zip、城市、州、地址等)存储在数据库中,那么我不能设置一个地址而不受google地图地理编码限制吗 以下地址:Javascript 谷歌地图-设置地址加载,javascript,google-maps,google-maps-api-3,Javascript,Google Maps,Google Maps Api 3,我是谷歌地图API新手,下面的谷歌地图正在运行。然而,我很难理解如何设置地址。我有2000个条目,每个条目都包含一个存储在数据库中的地址,如果有机会,我有“设置”描述页面地图加载地址所需的所有数据。然而,我不知道如何做到这一点。我想知道是否有人可以给我一个基本的例子,设置地址,城市,州,邮政编码,然后在地图上也有一个标记 此外,我很困惑,如果我把地址的所有组成部分都分开,我就不需要地理编码,对吗?难道地理编码不只是让从未解析/长地址字符串创建地图变得容易,并限制您可以请求地理编码的次数吗?换句话
123佛罗里达州迈阿密花街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);
谢谢你的建议
非常感谢 您正在寻找地理编码: 这里有一段代码,可以在谷歌上查询您的地址位置,然后在收到的位置上指向一个标记:
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);
您正在寻找地理编码: 这里有一段代码,可以在谷歌上查询您的地址位置,然后在收到的位置上指向一个标记:
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);
+1、这起作用了!谢谢你的回复!有没有一种方法可以在不使用
geocoder
的情况下设置地址,以避免2500/天的请求限制?您唯一能做的就是静态设置每个标记的坐标,但是这只有在您有一组固定地址的情况下才有效。使用API geocoder的请求配额是每个客户端的。如果您认为这将是一个问题,那么您应该脱机对地址进行地理编码,并使用坐标在页面加载时显示标记。有关地理编码策略的更多信息,请参阅。+1,这起作用了!谢谢你的回复!有没有一种方法可以在不使用geocoder
的情况下设置地址,以避免2500/天的请求限制?您唯一能做的就是静态设置每个标记的坐标,但是这只有在您有一组固定地址的情况下才有效。使用API geocoder的请求配额是每个客户端的。如果您认为这将是一个问题,那么您应该脱机对地址进行地理编码,并使用坐标在页面加载时显示标记。有关地理编码策略的更多信息,请参阅。