gpt4 book ai didi

javascript - Google map 标记 - 信息窗口

转载 作者:行者123 更新时间:2023-12-03 07:58:14 25 4
gpt4 key购买 nike

我需要在 InfoWindow 中显示 match.offer.text。每个标记都有不同的 match.offer.text。

这是我的代码:

var markerImageURL, lat, lng;
if (myoffer) {
markerImageURL = 'assets/img/markers/marker_my.png';
lat = match.lat;
lng = match.lng;
} else {
markerImageURL = 'assets/img/markers/marker_' + match.strength + '.png';
lat = match.offer.lat;
lng = match.offer.lng;
}

var marker = new google.maps.Marker({
position: new google.maps.LatLng(lat, lng),
map: window.googleMap,
icon: {
size: new google.maps.Size(54,56),
url: markerImageURL
},
draggable: false,
visible: true
});

var infowindow = new google.maps.InfoWindow({
content: match.offer.text,
maxWidth: 300
});

window.googleMapMarkers.push(marker);

if(!myoffer) {
window.MVC.Events.GoogleMap.prototype.showInfoWindow(marker, infowindow, match);
}

点击标记后触发的事件:

marker.addListener('click', function() {
infowindow.open(window.googleMap, marker);
}

请帮助我。

最佳答案

内容将应用于打开时的标记,因此您的代码会将循环中最后一项中的内容应用于所有标记,在 openWindow 函数中将内容添加到单个 infoWindow 对象,即

Maps API 也有自己的点击事件事件包装器

function initMarkers(){
//create markers
var marker = new google.maps.Marker();

google.maps.event.addListener(marker, 'click', openInfoWindow(marker, i));
}

var infowindow = new google.maps.InfoWindow();
function openInfoWindow(marker,index){
return function(e) {

//Close other info window if one is open
if (infowindow) {
infowindow.close();
}

var content = marker.offer.text;

infowindow.setContent(content);

setTimeout(function() {
infowindow.open(map, marker);
}, 200);
}
}

关于javascript - Google map 标记 - 信息窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34711481/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com