我正在使用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);
}
}
}
);
}
}
答案 0 :(得分:0)
我建议使用Google Maps API的第3版,除非您有必要坚持使用版本2.请尝试此处给出的示例:
http://code.google.com/apis/maps/documentation/javascript/services.html#GeocodingRequests