Javascript 谷歌地图-设置地址加载

Javascript 谷歌地图-设置地址加载,javascript,google-maps,google-maps-api-3,Javascript,Google Maps,Google Maps Api 3,我是谷歌地图API新手,下面的谷歌地图正在运行。然而,我很难理解如何设置地址。我有2000个条目,每个条目都包含一个存储在数据库中的地址,如果有机会,我有“设置”描述页面地图加载地址所需的所有数据。然而,我不知道如何做到这一点。我想知道是否有人可以给我一个基本的例子,设置地址,城市,州,邮政编码,然后在地图上也有一个标记 此外,我很困惑,如果我把地址的所有组成部分都分开,我就不需要地理编码,对吗?难道地理编码不只是让从未解析/长地址字符串创建地图变得容易,并限制您可以请求地理编码的次数吗?换句话

我是谷歌地图API新手,下面的谷歌地图正在运行。然而,我很难理解如何设置地址。我有2000个条目,每个条目都包含一个存储在数据库中的地址,如果有机会,我有“设置”描述页面地图加载地址所需的所有数据。然而,我不知道如何做到这一点。我想知道是否有人可以给我一个基本的例子,设置地址,城市,州,邮政编码,然后在地图上也有一个标记

此外,我很困惑,如果我把地址的所有组成部分都分开,我就不需要地理编码,对吗?难道地理编码不只是让从未解析/长地址字符串创建地图变得容易,并限制您可以请求地理编码的次数吗?换句话说,如果我将所有地址组件(如zip、城市、州、地址等)存储在数据库中,那么我不能设置一个地址而不受google地图地理编码限制吗

以下地址:

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的请求配额是每个客户端的。如果您认为这将是一个问题,那么您应该脱机对地址进行地理编码,并使用坐标在页面加载时显示标记。有关地理编码策略的更多信息,请参阅。