【问题标题】:Wrong position of infowindow on small zoom levels. Google maps api v3小缩放级别上信息窗口的位置错误。谷歌地图 API v3
【发布时间】:2016-09-12 15:40:04
【问题描述】:

在较小的缩放级别上,一个地方将显示两次或更多次(世界地图水平重复)。当我在地图上放置带有坐标的标记(例如 -32.05604、115.74718)时,我会在地图上多次看到它。这很正常。

但如果我尝试在鼠标悬停时显示信息窗口,我会得到错误的行为。信息窗口将始终显示在我的一个标记附近,而不会显示在另一个标记附近,与鼠标光标下的标记无关。

参见此处的示例:(尝试将鼠标移动到地图上的左侧标记)。 https://jsfiddle.net/m3wpk1gr/1/

如何显示鼠标下标记的信息窗口?

我的代码:

function initialize() {

    var myLatLng = new google.maps.LatLng(-32.05604, 115.74718),
        myOptions = {
            zoom: 1,
            center: new google.maps.LatLng(-32.05604, 0)
        },
        map = new google.maps.Map(document.getElementById('map-canvas'), myOptions),
        marker = new google.maps.Marker({
            position: myLatLng,
            map: map
        });

    marker.setMap(map);

    var iw = new google.maps.InfoWindow();
    marker.addListener('mouseover', function() {
        iw.setContent('InfoWindow');
        iw.open(map, this);
    });
    marker.addListener('mouseout', function() {
        iw.close();
    });

}

initialize();

【问题讨论】:

    标签: javascript google-maps-api-3 infowindow


    【解决方案1】:

    恐怕你无法得到想要的结果(位置是正确的,所以当位置在地图上多次存在时,API必须做出决定)。

    你可以做什么:将标记的optimized-选项设置为false,那么它们将不会在较低的缩放级别重复

    【讨论】:

    • 谢谢,@dr-molle。好伤心。
    猜你喜欢
    • 2013-03-06
    • 2013-12-16
    • 1970-01-01
    • 2013-05-18
    • 2013-04-24
    • 2015-01-03
    • 2011-10-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多