gpt4 book ai didi

javascript - 标记未显示在谷歌地图上

转载 作者:行者123 更新时间:2023-11-29 17:12:28 26 4
gpt4 key购买 nike

我正在尝试在我的 map 上显示标记。但它没有显示它们。

这是我使用的代码:

var map;
var markers = new Array();

function initialize() {
var mapOptions = {
zoom: 12,
center: new google.maps.LatLng(27.9881, 86.9253),
};
var map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions);

google.maps.event.addListener(map, 'click', addMarker);
}

function addMarker(event) {
markers.push(event.latLng);

marker = new google.maps.Marker({
position: event.latLng,
map: map
});

console.log(markers);
}

google.maps.event.addDomListener(window, 'load', initialize);

控制台在每次点击一个新坐标时都会记录,因此调用该函数并传递坐标。而且我真的看不出标记代码有任何问题。

所以任何人都可以看到问题吗?

最佳答案

map 是局部变量,仅在initialize 中可见。

当您设置标记的 map 属性时,使用 this 而不是 map:

function addMarker(event) {
markers.push(event.latLng);

marker = new google.maps.Marker({
position: event.latLng,
map: this
});
}

解释:

回调将在触发事件的对象范围内执行。这里是 map 实例(因为点击监听器已应用于 map ),this 将在回调中引用此对象。

关于javascript - 标记未显示在谷歌地图上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20679730/

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