我使用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')
}
}
});
});