2010-10-07 101 views
1

我正在嘗試更改我正在處理的示例地圖應用程序中KML疊加層的KML地標圖標。在Google Maps API V3中單擊更改KML地標圖標

這裏的示例代碼 -

function seekml() { 

var myLatlng = new google.maps.LatLng(40.65, -73.95); 
var myOptions = { 
    zoom: 14, 
    mapTypeControl: true, 
    center: myLatlng, 
    mapTypeControlOptions: { 
     style: google.maps.MapTypeControlStyle.DROPDOWN_MENU, 
    position: google.maps.ControlPosition.TOP_RIGHT 
    }, 
    navigationControl: true, 
    navigationControlOptions: { 
     style: google.maps.NavigationControlStyle.SMALL 
    }, 
    mapTypeId: google.maps.MapTypeId.ROADMAP 
}; 
url_end = "?nocache=" + (new Date()).valueOf(); //For No KML Caching 
myKML = "http://kmlscribe.googlepages.com/SamplesInMaps.kml" + url_end 

gMap = new google.maps.Map(document.getElementById("map"), myOptions); 
var ctaLayer = new google.maps.KmlLayer(myKML,{suppressInfoWindows: true}); 
ctaLayer.setMap(gMap); 

google.maps.event.addListener(ctaLayer, 'click', function(event) {    
    this.setIcon(gYellowIcon); 
    }); 
} 

gYellowIcon已經在我的代碼之前被定義 -

var gYellowIcon = new google.maps.MarkerImage(
    "image url", 
    new google.maps.Size(31, 31), 
    new google.maps.Point(0, 0), 
    new google.maps.Point(6, 20)); 

我想改變KML覆蓋地標,當用戶點擊任何地標顯示在KML疊加層上。上面的代碼不起作用。

+0

我正要問相同的... – Francesco 2010-11-17 21:51:08

+0

嗨,你最終找到了解決這個問題的解決方案?謝謝 – 2011-02-03 16:41:50

回答

2

我目前正在研究完全相同的事情,在我的情況下,我可以直接編輯KML文件。如果你有機會獲得它,並可以對其進行編輯,這是我做的:

1)右鍵下<document>標籤,貼這樣的事情:

<Style id="desired_id"> 
    <IconStyle> 
    <Icon> 
     <href>http://www.yourwebsite.com/your_preferred_icon.png</href> 
     <scale>1.0</scale> 
    </Icon>  
    </IconStyle> 
</Style> 

scale參數沒有在谷歌地圖的支持時刻。在這裏,您可以查看KML的所有受支持的元素在谷歌地圖:

http://code.google.com/intl/en-EN/apis/kml/documentation/kmlelementsinmaps.html

在這裏,你已經得到了有關KML和GMaps之間的兼容性的一些信息:

http://code.google.com/intl/en-EN/apis/kml/documentation/mapsSupport.html

2)一旦你已經定義了你的風格,你可以在每個地標項上加上以下內容來參考它:

<styleUrl>#desired_id</styleUrl> 

現在,您的所有地標都應顯示顯示您的自定義圖標。

希望它有幫助。

編輯:對不起,我沒有看到點擊部分。這不是你當時需要的。我會離開它以防別人幫助別人。對不起。

+2

謝謝,這很有幫助。 – 2011-07-27 17:00:03

相關問題