我正在尝试使用marker.setIcon()
来更改标记图像。但是,虽然这会更改marker.iconUrl
属性,但图标本身正在使用marker.proprietary_marker.$.icon.image
来显示标记图像 - 因此标记图标保持不变。有没有办法动态更改marker.proprietary_marker.$.icon.image
?
<head>
<title>Map Test</title>
<script src="http://maps.google.com/maps?file=api&v=2&key=Your-Google-API-Key" type="text/javascript"></script>
<script src="mapstraction.js"></script>
<script type="text/javascript">
var map;
var marker;
function getMap(){
map = new mxn.Mapstraction('myMap','google');
map.setCenterAndZoom(new mxn.LatLonPoint(45.559242,-122.636467), 15);
}
function addMarker(){
marker = new mxn.Marker(new mxn.LatLonPoint(45.559242, -122.636467));
marker.addData({infoBubble : "Text", label : "Label", marker : 4, icon: "http://mapscripting.com/examples/mashups/richter-high.png"});
map.addMarker(marker);
}
function changeIcon(){
marker.setIcon("http://assets1.mapufacture.com/images/markers/usgs_marker.png");
}
function showIconURL(){
alert(marker.iconUrl);
}
function showProprietaryIconURL(){
alert(marker.proprietary_marker.$.icon.image);
}
</script>
</head>
<body onload="getMap()">
<div id="myMap" style="width:627px; height:412px;"></div>
<div>
<input type="button" value="add marker" OnClick="addMarker();">
<input type="button" value="change icon" OnClick="changeIcon();">
<input type="button" value="show icon URL" OnClick="showIconURL();">
<input type="button" value="show proprierty icon URL " OnClick="showProprietaryIconURL();">
</div>
</body>
</html>
答案 0 :(得分:1)
据我所知,根据我的阅读,一旦你创建了一个标记,就不能再改变标记的“图标”。您可以更改标记本身的图像属性,但是根据我已阅读的内容,我不相信一旦生成标记就可以通过图标选项更改它。
我也相信我读到如果您确实更改了图标的图像,它将保持与您最初在标记选项的图标设置中设置的相同尺寸属性。 IE如果第一张图像设置为15x15,第二张图像设置为5x5,则5x5将调整为15x15。