Google Map API,Geocoder.GetLocations始终返回“浏览器不兼容”

时间:2011-02-16 20:20:46

标签: javascript google-maps google-geocoder

我正在使用JavaScript基础谷歌地图API,当我尝试使用geocoder.getlocations时,它会返回“Browser Incompatibility”异常并卸载地图。请看一下我的代码,让我知道它有什么问题。

function initialize() {
  if (GBrowserIsCompatible()) {
    map = new GMap2(document.getElementById("map_canvas"));
    map.addControl(new GSmallMapControl());
    map.addControl(new GNavLabelControl());
map.setCenter(new GLatLng(37.4419, -122.1419), 13);

    geocoder = new GClientGeocoder();
  }
}

function showAddress(address) {
var zipcodex = 0;
if(geocoder)
{
    geocoder.getLocations(address, getzip); 

function getzip (response) 
    {
    if (!response || response.Status.code != 200)
        {
        alert("Sorry, we were unable to geocode the first address");
        }
    else
        {
        if(response.Placemark[0].AddressDetails.Country.AdministrativeArea.
        Locality.PostalCode.PostalCodeNumber)
            {
            zipcodex = response.Placemark[0].AddressDetails.Country.AdministrativeArea.
            Locality.PostalCode.PostalCodeNumber;
            } 

        }

    }
}

  if (geocoder) {
    geocoder.getLatLng(
      address,
      function(point) {
        if (!point) {
          alert(address + " not found");
        } else {
          map.setCenter(point, 13);
          var marker = new GMarker(point);
          map.addOverlay(marker);
    if(zipcode)
    {
    marker.openInfoWindowHtml('Zipcode:'+zipcodex);
    }
    else
    {
        marker.openInfoWindowHtml(address);
    }
        }
      }
    );

  }
}    

1 个答案:

答案 0 :(得分:0)

我建议使用Google Maps API的第3版,除非您有必要坚持使用版本2.请尝试此处给出的示例:

http://code.google.com/apis/maps/documentation/javascript/services.html#GeocodingRequests