0

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

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

4

1 に答える 1