我正在使用Google地图,GeoXML和MarkerClusterer的组合将历史文本映射到地点。用户可以选择他们想要映射的文本,页面将获取这些文本组的KML并使用MarkerClusterer显示它。
当选择新文本时,某些东西导致页面在印度/中国重新定位(左下角:http://lakes.jhadley.net/lit_file.htm。
以下是处理地图的主要功能:
function loadMap(myLat, myLong, zoomLevel, generatedUrl) {
var mapOptions = {
center: new google.maps.LatLng(myLat, myLong),
zoom: zoomLevel,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var mcOptions = {gridSize: 80, maxZoom: 15};
var map = new google.maps.Map(document.getElementById("map_canvas"), mapOptions);
markerclusterer = new MarkerClusterer(map, [], mcOptions);
var myParser = new geoXML3.parser({
map: map,
singleInfoWindow:true,
suppressInfoWindows:true,
createMarker:function(placemark){
var point = placemark.latlng;
var info = "<pre" + placemark.name + "<br /><br />" + placemark.description + "</pre>";
var marker = new google.maps.Marker({position:point});
//Suppress the speachbubbles and have them appear in a text window instead
google.maps.event.addListener(marker, 'click', function() {
var text = placemark.description.replace(/ target="_blank"/ig, "");
showInContentWindow(text);
}); //Add listener
markerclusterer.addMarker(marker);
}
});
myParser.parse("http://lakes.jhadley.net/generateKml/"+generatedUrl);
function showInContentWindow(text) {
var sidediv = document.getElementById('kwic_window');
sidediv.innerHTML = text;
} //showInContentWindow
} //function loadMap
我无法亲自了解为什么在加载新文本时,地图中心会在印度/中国重新定位。谁能告诉我我错过了什么?
答案 0 :(得分:0)
缩放|布尔值(true)|如果为true,解析器将在解析KML文档完成后自动将地图移动到地理数据的最佳位置。
这就是&#34;中心&#34;标记是: