gpt4 book ai didi

javascript - 使用信息窗口点击时的 Google Maps API v3 标记

转载 作者:行者123 更新时间:2023-11-30 12:58:32 24 4
gpt4 key购买 nike

我对信息窗口有疑问。我在点击 map 时创建了标记,但我也想显示信息窗口。此代码不适用于此部分:

google.maps.event.addListener(marker, 'click', function() {
infowindow.open(map, marker);
});

下面是代码..感谢帮助

var pridat;
var map;

function initialize() {
var locc = new google.maps.LatLng(49.938682,17.903331);
var mapOptions = {
zoom: 14,
center: locc,
mapTypeId: google.maps.MapTypeId.ROADMAP
}

map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions);
directionsDisplay.setMap(map);

var contentwindow = '<div>your point</div>'
var infowindow = new google.maps.InfoWindow({
content: contentwindow
});

// IF I REMOVE THIS PART -> IT WORKS, BUT WITHOUT INFOWINDOW
google.maps.event.addListener(marker, 'click', function(){
infowindow.open(map, marker);
});
// END OF PART

google.maps.event.addListener(map, 'rightclick', function(event) {
placeMarker(event.latLng);
});
}

function placeMarker(location) {
if (marker) {
marker.setPosition(location);
} else {
marker = new google.maps.Marker({
position: location,
map: map,
title: 'My point',
draggable: true,
});
}
}

最佳答案

当它不起作用时,您应该查看 javascript 错误。您正试图在“标记”存在之前使用它。如果将标记的“点击”监听器移动到它所在的 placeMarker 函数中,并使信息窗口可全局访问,它应该可以工作。您发布的代码没有在 map 上放置任何标记。

var pridat;
var map;
var marker = null;
var infowindow = null;
function initialize() {
var locc = new google.maps.LatLng(49.938682,17.903331);

var mapOptions = {
zoom: 14,
center: locc,
mapTypeId: google.maps.MapTypeId.ROADMAP
}

map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions);
directionsDisplay.setMap(map);

var contentwindow = '<div>your point</div>'
infowindow = new google.maps.InfoWindow({
content: contentwindow
});

google.maps.event.addListener(map, 'rightclick', function(event) {
placeMarker(event.latLng);
});

}

function placeMarker(location) {
if (marker) {
marker.setPosition(location);
} else {
marker = new google.maps.Marker({
position: location,
map: map,
title: 'My point',
draggable: true,
});
// IF I REMOVE THIS PART -> IT WORKS, BUT WITHOUT INFOWINDOW
google.maps.event.addListener(marker, 'click', function(){
infowindow.open(map, marker);
});
}
}

working example

关于javascript - 使用信息窗口点击时的 Google Maps API v3 标记,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18191695/

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