谷歌地图-在加载时设置地址

Google Maps - Setting an address onLoad

本文关键字:设置 地址 加载 谷歌地图      更新时间:2023-09-26

我是Google Maps API的新手,下面的Google Map正在运行。然而,我很难理解如何设置地址。我有2000个条目,每个条目都包含一个存储在数据库中的地址,如果有机会,我有在描述页面的加载上"设置"地图地址所需的所有数据。但是,我不知道该怎么做。我想知道是否有人能给我看一个设置地址、城市、州、邮政编码的基本例子,然后在地图上也有一个标记。

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

以下地址:

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);

我很感激你的建议!

非常感谢!

您正在寻找地理编码:https://developers.google.com/maps/documentation/geocoding/

这里你有一个代码,可以在谷歌上查询你的地址,然后在收到的位置上指向一个标记:

  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);