我正在为 Google 地图使用 jQuery 插件http://googlemaps.mayzes.org/,但在添加标记时遇到了麻烦。
当前设置:
在加载地图的厚框中显示 AJAX 内容。地图加载良好,并以地理编码地址正确居中。
但是,如果您添加带有地理编码地址的标记,Google Maps API 会出现“a is undefined”错误
(来自插件的相关代码)
if ( markers[i].geocode ) {
var geocoder = new GClientGeocoder();
geocoder.getLatLng(markers[i].geocode, function(center) {
if (!center)
alert(address + " not found");
else
jQuery.googleMaps.marker[i] = new GMarker(center, {draggable: markers[i].draggable, icon: gIcon});
});
}
值得注意的部分是geocoder.getLatLng(markers[i].geocode, func...
因为它直接调用了地图 API,并且经过检查,markers[i].geocode
它作为我的测试地址(“澳大利亚”)出来。
我发现如果我第一次加载地图,它将使地图居中,但由于标记而出错(也不显示 UI)。如果我关闭厚框并使用不同的地址/国家再次加载它,地图将正常加载,使用 UI 并以新位置为中心,并在旧地址/国家中带有标记。
在此之后多次关闭和打开厚盒将移动居中,但标记将始终停留在第一个地址/国家。
有任何想法吗?