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
新しいテキストが読み込まれると、マップの中心がインド/中国の上に移動する理由が個人的にわかりません。何が欠けているのか誰か教えてもらえますか?