【问题标题】:Google Maps info window not displaying on first mouse over首次鼠标悬停时未显示 Google 地图信息窗口
【发布时间】:2014-01-16 09:53:17
【问题描述】:

我有一个从数据库中提取数据的谷歌地图。一切都按预期进行,除了当您将鼠标悬停在地图上的某个点上时弹出的信息窗口(该点是从数据库中提取的集合的一部分。所以任何点都可以有任意数量的点给定阶段)。

我的代码如下所示:

function getwindow(id) {
    if(infowindows[id] == null || infowindows[id] == '') {
        $.ajax({
            url: "view/"+id,
            type: "post",
            async: true,
            beforeSend: function() {
            },
            success: function(data) {
                data = JSON.parse(data);
                if(data.success) {
                    infowindows[id] = '<b>Info For: </b>' + data.Clinic.official_clinic_name + '<br/>' +
                    '{{image}}<br/>' +
                    'Tel: ' + data.Clinic.telephone;
                } else {
                    alert('error');
                }
            }
        });
    }
}


var infowindow = new google.maps.InfoWindow({
    content: ''
});
<?php foreach($jsdata as $data) : ?>
    infowindows[<?php echo $data['id'];?>] = '';
    google.maps.event.addListener(marker_<?php echo $data['id'];?>, 'mouseover', function() {
        getwindow(<?php echo $data['id'];?>);
        infowindow.setContent(infowindows[<?php echo $data['id'];?>]);
        infowindow.open(map,marker_<?php echo $data['id']?>);
    });

    google.maps.event.addListener(marker_<?php echo $data['id'];?>, 'mouseout', function() {
        infowindow.close();
    });
<?php endforeach; ?>

我遇到的问题是弹出信息窗口第一次没有显示。如果我再次将鼠标悬停在它上面,它会完美运行。如何让它第一次出现?

【问题讨论】:

  • 您确定 infoWindow 的内容在第一次尝试时可用吗?如果将事件处理程序的定义移动到代码的success: 部分会怎样?
  • 成功了。只需将其添加为答案,我就会投票。我所做的是将标记作为变量传递,如下所示:getwindow(&lt;?php echo $data['id'];?&gt;,marker_&lt;?php echo $data['id'];?&gt;);

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


【解决方案1】:

由于异步$.ajax 调用infoWindow 内容在第一个mouseover 事件发生时不可用。您必须将事件处理程序的定义移动到代码的success: 部分。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-05-02
    • 1970-01-01
    • 2012-05-31
    • 2012-02-13
    • 2011-02-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多