0

我正在寻找调整此处找到的示例谷歌地图代码https://developers.google.com/maps/documentation/javascript/geocoding以便在页面加载时对地址进行地理编码。所以没有更多的固定坐标(已经从我的视图文件中加载)并且应该在没有人工交互的情况下自行进行地理编码

var geocoder;
var map;
function initialize() {
  geocoder = new google.maps.Geocoder();
  var latlng = new google.maps.LatLng(-34.397, 150.644);
  var mapOptions = {
    zoom: 8,
    center: latlng,
    mapTypeId: google.maps.MapTypeId.ROADMAP
  }
  map = new google.maps.Map(document.getElementById("map-canvas"), mapOptions);
}

function codeAddress() {
  var address = document.getElementById("address").value;
  geocoder.geocode( { 'address': address}, 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("Geocode was not successful for the following reason: " + status);
    }
  });
}

谢谢你的帮助。

4

1 回答 1

0

不知道你在这里问什么。如果您希望在页面显示时对地址进行地理编码,则#address元素中需要有一个值:

<input type="text" id="address" value="1600 Pennsylvania Ave NW  Washington, DC 20500">

...然后您只需在函数中调用initialize()andgeocode()函数window.onload

window.onload = function() {
    initialize();
    codeAddress();
}

这是一个 jsFiddle 演示:http: //jsfiddle.net/fYbqe/

编辑更新了 jsFiddle,使其更容易使用自定义地址:http: //jsfiddle.net/fYbqe/1/

于 2013-04-03T01:29:03.777 回答