0

我正在使用 Google Maps、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

0
  • 默认情况下,geoxml3 会尝试缩放以适应数据。如果您不希望它这样做,请将“缩放”选项设置为 false。从文档中

放大 | 布尔值 (true) | 如果为 true,解析器将在 KML 文档解析完成后自动将地图移动到最适合地理数据的位置。

这就是标记的“中心”所在的位置:

http://www.geocodezip.com/geoxml3_test/v3_geoxml3_kmltest_linktoB.html?filename=http://www.geocodezip.com/geoxml3_test/SO_20140312_1,4.kml

http://www.geocodezip.com/geoxml3_test/v3_geoxml3_kmltest_linktoB.html?filename=http://www.geocodezip.com/geoxml3_test/SO_20140312_1.kml

于 2014-03-13T07:01:00.353 回答