2010-04-28 1 views
2

marker.setIcon()을 사용하여 마커 이미지를 변경하려고합니다. 그러나 이것이 marker.iconUrl 속성을 변경하지만 아이콘 자체는 ​​marker.proprietary_marker.$.icon.image을 사용하여 마커 이미지를 표시하므로 마커 아이콘은 변경되지 않습니다. 을 동적으로 변경하는 방법이 있습니까?Mapstraction : 아이콘 이미지 URL을 추가 한 후 변경 하시겠습니까?

  1. 마커를 추가하십시오.
  2. 아이콘의 이미지 URL과 독점 아이콘의 이미지를 확인하십시오. 동일합니다.
  3. 아이콘을 변경하십시오.
  4. 다시 URL을 확인하십시오. 이제 Icon 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

그것은 당신이 마커를 생성하면 더 이상 마커의 "아이콘"을 변경할 수 없음을 읽은 내용에서 나의 이해이었다. 마커 자체의 이미지 속성을 변경할 수는 있지만 내가 읽은 것에서 마커가 생성되면 아이콘 옵션을 통해 이미지 속성을 변경할 수 있다고 생각하지 않습니다.

아이콘의 이미지를 변경하면 마커 옵션의 아이콘 설정에서 원래 설정했던 것과 동일한 크기 속성이 유지됩니다. 첫 번째 이미지가 15x15로 설정되고 두 번째 이미지가 5x5 인 경우 IE는 15x15로 크기가 조정됩니다.