我正在尝试转换为API v2
编写的以下代码<!--- Add position and date information --->
var trackIcon = new GIcon({image:"/images/www2/icons/map_track_marker.png"});
trackIcon.iconSize = new GSize(6,6);
trackIcon.iconAnchor = new GPoint(3,3);
for (var i=0; i<trackArray.length;i++)
{
map.addOverlay(new GMarker(trackArray[i],{title:trackArrayInfo[i],icon:trackIcon}));
}
到V3,但没有成功。这是我不成功的尝试:
<!--- Add position and date information --->
var trackIcon = new google.maps.Icon({image:"/images/www2/icons/map_track_marker.png"});
trackIcon.iconSize = new google.maps.Size(6,6);
trackIcon.iconAnchor = new google.maps.Point(3,3);
for (var i=0; i<trackArray.length;i++)
{
new google.maps.Marker(trackArray[i], {title:trackArrayInfo[i],icon:trackIcon}).setMap(map);
}
有人可以帮我这个吗?我变得无望:(
答案 0 :(得分:3)
图标对象在API v3中没有image
,iconSize
或iconAnchor
属性。相反,他们只是url
,size
和anchor
。
您还需要将新标记的结果分配给变量。我假设你现在得到了一个JS错误,虽然你的问题中没有它(如果有的话可能会有用)。
/* Add position and date information */
var trackIcon = new google.maps.Icon({
url :"/images/www2/icons/map_track_marker.png",
size : new google.maps.Size(6,6),
anchor : new google.maps.Point(3,3)
});
for (var i=0; i<trackArray.length;i++)
{
var marker = new google.maps.Marker({
position: trackArray[i],
map: map,
title: trackArrayInfo[i],
icon: trackIcon
});
}
答案 1 :(得分:1)
/* Add position and date information */
for (var i=0; i<trackArray.length;i++)
{
var marker = new google.maps.Marker({
position: trackArray[i],
map: map,
title: trackArrayInfo[i],
icon: "/images/www2/icons/map_track_marker.png",
size: new google.maps.Size(6,6),
anchor: new google.maps.Point(3,3)
});
}
它的工作原理如下。感谢@duncan的帮助!
答案 2 :(得分:1)
如果其他人遇到与我相同的相关问题并用Google搜索她的方式,似乎在当前版本(3.11)中没有google.maps.Icon
而是google.maps.MarkerImage
构造函数。之前的答案如下:
for (var i=0; i<trackArray.length;i++)
{
var marker = new google.maps.Marker({
position: trackArray[i],
map: map,
title: trackArrayInfo[i],
icon: new google.maps.MarkerImage(
"/images/www2/icons/map_track_marker.png", // url
new google.maps.Size(6,6), // size
new google.maps.Point(0,0), // origin
new google.maps.Point(3,3), // anchor
new google.maps.Size(6,6) // resized size
)
});
}
虽然没有在文档中提及,所以我不确定这是否是官方的,但官方.Icon已经消失,这对我有用。