gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-28 08:56:12 25 4
gpt4 key购买 nike

我的位置查找器显示多个标记,但我不希望这样。我不太擅长 Google API,所以希望您能帮助我。

人们需要填写他们的地址,然后他需要显示位置。不显示多个标记。 (只有一个)

这是 JS:

      var geocoder;
var map;

function initialize() {
geocoder = new google.maps.Geocoder();
var latlng = new google.maps.LatLng(52.132633, 5.291266);
var myOptions = {
zoom: 7,
center: latlng,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
map = new google.maps.Map(document.getElementById("map_canvas"),
myOptions);
}

function codeAddress() {
var sAddress = document.getElementById("inputTextAddress").value;
document.getElementById("map_canvas").style.removeProperty('display');
geocoder.geocode( { 'address': sAddress}, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {

map.setCenter(results[0].geometry.location);
map.setZoom(10);

var marker = new google.maps.Marker({
map: map,
position: results[0].geometry.location
});
} else {
alert("Helaas, er is iets fout gegaan. Foutcode: " + status);
}
});
}

最佳答案

如果您想控制标记,则需要将它们添加到数组中,然后在添加新标记之前删除所有标记:

  markersArray = []
function codeAddress() {
var sAddress = document.getElementById("inputTextAddress").value;
document.getElementById("map_canvas").style.removeProperty('display');
geocoder.geocode( { 'address': sAddress}, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {

map.setCenter(results[0].geometry.location);
map.setZoom(10);

var marker = new google.maps.Marker({
map: map,
position: results[0].geometry.location
});
RemoveMarkers();
markersArray.push(marker)
} else {
alert("Helaas, er is iets fout gegaan. Foutcode: " + status);
}
});
}


function RemoveMarkers(){
for(i=0;i<markersArray.length;i++){
markersArray[i].remove() // I don't remember exactly the name of the gmaps method
}
}

我还没有测试过代码,但这就是您需要的想法!

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

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