0

私は JavaScript ベースの Google マップ API を使用しています。geocoder.getlocations を使用しようとすると、「ブラウザの非互換性」例外が返され、マップがアンロードされます。私のコードを見て、何が問題なのか教えてください。

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

  }
}    
4

1 に答える 1

0

バージョン 2 を使用しなければならない理由がない限り、バージョン 3 の Google Maps API を使用することをお勧めします。次の例を試してください。

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

于 2011-02-16T23:09:26.407 に答える