加载位置的Google地图

时间:2011-10-08 07:44:13

标签: google-maps google-maps-api-3

  

可能重复:
  Google Maps v3 - How to center using an address on initialize?

我有一张地图,我想加载90210作为邮政编码...警报在那里作为调试工具..警报给了我coords但我得到'myOptions未定义'错误。

var geocoder;
var map;
function initialize() {
    geocoder = new google.maps.Geocoder();
    var lat = '';
    var lng = '';
    var address = '90210';
    geocoder.geocode( { 'address': address}, function(results, status) {
        if (status == google.maps.GeocoderStatus.OK) {
            lat = results[0].geometry.location.lat();
            lng = results[0].geometry.location.lng();
            //alert(lat + ', ' + lng);
        } else {
            alert("Geocode was not successful for the following reason: " + status);
        };

        var latlng = '(' + lat + ', ' + lng + ')';
        var myOptions = {
            zoom: 8,
            center: latlng,
            mapTypeId: google.maps.MapTypeId.ROADMAP
        }
        alert(latlng);
    });

    map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
}

1 个答案:

答案 0 :(得分:1)

您可以在geocoder.geocode中的匿名函数中创建myOptions。因此,该函数的代码不可用。如果在初始化函数的顶部声明var myOptions,那么它应该可以工作:

var geocoder;
var map;
function initialize() {
    geocoder = new google.maps.Geocoder();
    var lat = '';
    var lng = '';
    var address = '90210';
    var myOptions;
    geocoder.geocode( { 'address': address}, function(results, status) {
        if (status == google.maps.GeocoderStatus.OK) {
            lat = results[0].geometry.location.lat();
            lng = results[0].geometry.location.lng();
            //alert(lat + ', ' + lng);
        } else {
            alert("Geocode was not successful for the following reason: " + status);
        };

        var latlng = '(' + lat + ', ' + lng + ')';
        myOptions = {
            zoom: 8,
            center: latlng,
            mapTypeId: google.maps.MapTypeId.ROADMAP
        }
        alert(latlng);
    });

    map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
}