我正在将使用 google maps api v2 的应用程序转换为 v3。作为其中的一部分,我也不得不将 MarkerManager 升级到 v3 版本。
我有一个奇怪的问题,即标记直到用户缩放地图才会显示,然后它们才会出现。
如果我然后缩放回原始缩放级别,标记仍然存在,所以这不是最小\最大缩放问题。firebug\javascript 控制台中没有报告错误,如果我在添加标记的位置放置断点或 console.log,则肯定会添加它。
应用程序比较大,所以我不能把所有的源码放在这里,但是添加标记的代码如下:
console.log("Adding Marker");
markerManager.addMarker(marker, 1, 19);
markerManager.refresh();
创建的代码marker
与此类似:
var latLng = new google.maps.LatLng(y, x);
var marker = new MarkerWithLabel({
position: latLng,
title: "title",
labelClass: "marker",
labelContent: "Test",
icon: icon,
labelAnchor: new google.maps.Point(26, 32)
});
并且icon
只是一个google.maps.MarkerImage
. MarkerManager 和 MarkerWithLabel 记录在这里:
http://google-maps-utility-library-v3.googlecode.com/svn/tags/markermanager/1.0/docs/reference.html
编辑:我应该在创建标记管理器后对它进行任何操作之前添加它,我有以下内容,所以在加载之前我不会尝试添加任何东西:
google.maps.event.addListenerOnce(markerManager, 'loaded', function () {
有人对我的错误可能在哪里有任何建议吗?