自上周一以来,我们在谷歌地图中遇到了问题。首先,我们使用自定义标记来显示按概念“分组”的搜索结果,这意味着我们显示带有文本的黄色框和带有计数的数字。如果你看一下这个图像,你会看到错误
(链接到http://imgur.com/sa1PvQo处的图片)
在“Grierkenland(556)”或“Turkije(392)”标记处,没有任何图像(看到红色框)
在“Cyrpus(43)”中,您将看到图像,而不是我放入每个标记,但只显示此标记。出现的图像也相互重叠了4个(截图中的数字1到4,原始图像是数字1,其余图像是相同的图像重叠)
我们一个月没有改变任何东西,我之前说过,从这个星期一起,标记的图像根本不起作用。我们的代码是:
创建图标。使用图像的url生成一个对象(pathPrefix是一个字符串,有些像“www.test.com”,例如):
getLocIcon: function (markerLength) {
var markerSize = 100;
if (markerLength > 18) {
markerSize = 183;
} else if (markerLength > 15) {
markerSize = 146;
} else if (markerLength > 13) {
markerSize = 122;
}
icon =
{
url: priv.pathPrefix + '/images/googlemaps/loc-marker-' + markerSize + '.png',
anchor: new google.maps.Point(15, 0),
size: new google.maps.Size(markerSize, 22)
};
return icon;
},
创建标记。使用所需的所有信息生成标记对象,包括“icon”对象:
createLinkMarker: function (gllPosition, strTargetText, strTargetLink, strMarkerToolTip) {
var locationMarkerText = "<nobr>" + strMarkerToolTip + " (" + strTargetText + ")</nobr>";
var otherOpts =
{
position: gllPosition,
map: priv.googleMap,
labelClass: "locationLabel",
icon: priv.getLocIcon((strMarkerToolTip + " (" + strTargetText + ")").length),
clickable: true,
draggable: false,
labelContent: locationMarkerText,
//anchorPoint: new google.maps.Point(15, 0),
title: strMarkerToolTip
};
var marker = new MarkerWithLabel(otherOpts);
google.maps.event.addListener(marker, 'click', function () {
location.href = strTargetLink;
});
return marker;
},
要在Google地图中包含标记的其余代码(priv.googleMap是google地图的对象,而标记是从createLinkMarker函数获取的标记数组):
var markerMgrOptions = { maxZoom: priv.maxZoom, trackMarkers: false };
priv.markerManager = new MarkerManager(priv.googleMap, markerMgrOptions);
[ ... ]
priv.markerManager.clearMarkers();
priv.markerManager.addMarkers(markers, priv.minZoom, priv.maxZoom);
priv.markerManager.refresh();
你知道那里有新的或不好的做法吗?
提前致谢并致谢。