我正在使用 geoxml3 和 markerclusterer 将 kml 文件解析为 google maps api v3 地图。到目前为止,这有效。
kml 文件存储了一些信息。
<Placemark>
<name>Manfred Mustermann</name>
<description>Manfred Mustermann</description>
<Point>
<coordinates>7.0964850607874,51.781641735074,0</coordinates>
</Point>
<address>Musterstr. 29 Aachen, 52070 Nordrhein-Westfalen</address>
<styleUrl>#0</styleUrl>
</Placemark>
它可以输出节点“名称”或“描述”,但不能输出“地址”。如果我尝试使用 place mark.address 输出此内容,则未定义将写入信息窗口。
我的问题是,我怎样才能解析这个地址信息?
这是我的代码:
$(document).ready(function(){
var myOptions = {
zoom: 3,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var mcOptions = {gridSize: 80, maxZoom: 15};
markers = [];
var map = new google.maps.Map(document.getElementById("map-canvas"), myOptions);
markerclusterer = new MarkerClusterer(map, [], mcOptions);
var infoWindow = new google.maps.InfoWindow({maxWidth:800});
var myParser = new geoXML3.parser({
map: map,
singleInfoWindow:true,
createMarker:function(placemark){
var point = new google.maps.LatLng(placemark.point.lat, placemark.point.lng);
var con = "<pre>" + placemark.description + "<br /><br />" + placemark.address + "</pre>";
var marker = new google.maps.Marker({position:point});
markers.push(marker);
google.maps.event.addListener(marker, "click", function(){
infoWindow.content = con;
infoWindow.open(map, marker);
});
markerclusterer.addMarker(marker);
}
});
myParser.parse('dat.kml');
});
function clickMarker(i){
google.maps.event.trigger(markers[i], "click");
}
非常感谢!
托尼