我有一个谷歌地图,带有来自 .kmz 文件的地标,以及一个“AddListener”事件,用于在单击地标时显示自定义地标信息: http: //Bus.w.pw/DefaultIconAddListener.html:
<script src=https://Maps.GoogleAPIs.com/maps/api/js?v=3.exp&sensor=false></script>
<script>
function I() {
M = new google.maps.Map(document.getElementById('D'), {
center: new google.maps.LatLng(43.31,-0.36),
zoom: 14
})
L = new google.maps.KmlLayer({url: 'http://Bus.w.pw/TA.kmz', suppressInfoWindows: true})
L.setMap(M)
google.maps.event.addListener(L, 'click', function(E) {
W = new google.maps.InfoWindow({content: 'Customization' + E.featureData.description, position: new google.maps.LatLng(E.latLng.lat(),E.latLng.lng())})
W.open(M)
})
}
google.maps.event.addDomListener(window, 'load', I)
</script>
<div id=D style='width:90%;height:90%'>
但我希望地标有一个自定义图标,而不是默认的 Google 图标。
为了得到这个结果,我使用 GeoXML3 :http://Bus.w.pw/CustomIconWithGeoXML.html:
<script src=https://Maps.GoogleAPIs.com/maps/api/js?v=3.exp&sensor=false></script>
<script src=GeoXML3.js></script>
<script src=ZipFile.complete.js></script>
<script>
function I() {
M = new google.maps.Map(document.getElementById('D'), {
center: new google.maps.LatLng(43.31,-0.36),
zoom: 14
})
P = new geoXML3.parser({map:M, markerOptions: {icon:'R.png'}, afterParse: S})
P.parse('http://Bus.w.pw/TA.kmz')
}
function S() {
P.showDocument(P.docs[0])
}
google.maps.event.addDomListener(window, 'load', I)
</script>
<div id=D style='width:90%;height:90%'>
现在我的问题是:
如何同时拥有:
地标的自定义图标
和一个“AddListener”事件,以显示一个自定义的信息窗口,该信息窗口取决于已单击的地标
?