Mapstraction: изменение URL изображения Icon после его добавления? - PullRequest
2 голосов
/ 28 апреля 2010

Я пытаюсь использовать marker.setIcon() для изменения изображения маркеров. Однако, похоже, что при этом изменяется атрибут marker.iconUrl, сам значок использует marker.proprietary_marker.$.icon.image для отображения изображения маркеров - поэтому значок маркеров остается неизменным. Есть ли способ динамически изменить marker.proprietary_marker.$.icon.image?

  1. Добавить маркер.
  2. Проверьте URL-адрес изображения значка и изображение проприетарного значка - они одинаковы.
  3. Изменить значок.
  4. Снова проверьте URL. Теперь URL-адрес значка изменился, но маркер по-прежнему показывает старое изображение, которое находится в собственном объекте маркера.

 <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>

1 Ответ

1 голос
/ 11 мая 2010

Насколько я понимаю, из того, что я прочитал, когда вы создаете маркер, вы больше не можете менять «иконку» маркера. Вы можете изменить свойство изображения самого маркера, но из того, что я прочитал, я не верю, что его можно изменить с помощью параметров значка после создания маркера.

Я также считаю, что прочитал, что если вы измените изображение значка, оно сохранит те же размеры, которые вы изначально установили в настройках значка для параметров маркера. То есть, если для первого изображения было установлено значение 15x15, а для второго - 5x5, размер 5x5 будет изменен до 15x15.

...