在外部触发点击事件时,Google地图会显示空白

时间:2013-04-12 10:51:33

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

我使用V3 js API创建了一个谷歌地图,在地图中我显示了多个标记。当我点击标记时,它会执行ajax调用并在infowindow中显示结果。我在地图外添加了一个外部链接,点击它会在地图旁边显示相应的标记结果。我使用以下代码来执行功能..

$('#marker_link').click(function () {
    var longitude = $(this).find("#longitude").val();
    var latitude = $(this).find("#latitude").val();
    var index = $(this).find("#index").val();

    google.maps.event.trigger(gmarkers[index], "click", {
        latLng: new google.maps.LatLng(latitude, longitude)
    });
});

此代码正确拉动标记数据并在窗口中显示。但当时地图变得空白。我们如何解决它。我们如何将地图与商店结果一起保存。

这里gmarkers []是一个全局数组,我将保留在地图中创建的所有标记。

我在第一次在地图中显示标记时使用的以下代码。

var marker = new google.maps.Marker({
                                    map: map,
                                    position: new google.maps.LatLng(pLat, pLong),
                                });
                                gmarkers.push(marker);

                                google.maps.event.addListener(marker, 'click', function (event) {


                                    var dataString = 'store_id=' + {{ store.store_id }}
                                    $.ajax({  
                                        type: "GET",  
                                        url: GET_STORE_DATA,  
                                        data: dataString, 
                                        success: function(res) { 
                                            if(res != '') {
                                                var contentString = res;
                                                var infoWindow = new google.maps.InfoWindow({ content: contentString });

                                                infoWindow.setPosition(event.latLng);
                                                infoWindow.open(map);
                                                google.maps.event.addListener(map, 'click', function() {
                                                    infoWindow.close();
                                                });
                                            } else {
                                                alert('No data found')
                                            }
                                        }  
                                    });
                                });

0 个答案:

没有答案