我正在尝试添加一个 If 语句来更改一个特定点的 a 函数的参数,但是无论 if 语句如何,代码似乎都将第一个函数应用于所有点。
下面的代码创建了一个新的标记,然后根据 if 语句执行该函数——至少应该如此!
我究竟做错了什么?
function createMarker(point, name, file_name) {
var blueIcon = new GIcon(G_DEFAULT_ICON);
blueIcon.image = "images/mark22.png";
blueIcon.iconSize = new GSize(32, 32);
markerOptions = { icon: blueIcon };
var marker = new GMarker(point, markerOptions);
GEvent.addListener(marker, "click", function () {
if (marker.name = 'chester') {
marker.openInfoWindowHtml("<a class='text1' href='http://www.merseyrail.org/plan-your-journey/stations/" + file_name + ".aspx' target='_parent'>" + name + " Station</a><br /><font size='2' face='Arial'><i>Click the station name to view more information.</i></font>");
}
else {
marker.openInfoWindowHtml("<img src='images/merseyraillogosmall.png'/><br /><a class='text1' href='http://www.merseyrail.org/plan-your-journey/stations/" + file_name + ".aspx' target='_parent'>" + name + " Station</a><br /><font size='2' face='Arial'><i>Click the station name to view more information.</i></font>");
}
});
return marker;
}
然后再往下:
var point20 = new GLatLng(53.1968, -2.88018);
map.addOverlay(createMarker(point20, 'Chester'));