从谷歌地图中删除标记后,我想添加新标记。但是,我的代码并没有达到我的预期。删除后,无法添加新的标记。
代码片段:
function codeAddress(coordinates) {
console.log("called");
var myLatlng = new google.maps.LatLng(coordinates.lb,coordinates.mb);
var marker = new google.maps.Marker({
map: map,
position: myLatlng
});
markersArray[markerid] = marker;
markerid++;
}
function deleteOverlays() {
if (markersArray) {
for (i in markersArray) {
markersArray[i].setMap(null);
}
}
markersArray = {};
markerid = 0;
}
function go(){
var cMin = document.getElementById('costMin').value;
var cMax = document.getElementById('costMax').value;
var religion = document.getElementById('religion').value;
// remove previous marker layer
deleteOverlays();
console.log(coorList.length);
for(var i = 0; i < coorList.length; ++i){
//codeAddress();
if(religion != ""){
if(coorList[i].cost1 >= cMin && coorList[i].cost1 <= cMax && coorList[i].religion.toLowerCase() ==religion.toLowerCase()){
codeAddress(coorList[i]);
}
}
else{
if(coorList[i].cost1 >= cMin && coorList[i].cost1 <= cMax){
codeAddress(coorList[i]);
}
}
}
}
<input id="costMin" type="textbox" >
<input id="costMax" type="textbox" >
<input id="religion" type="textbox" >
<input type="button" value="Go" onclick="go();">
当我在 codeAddress() 函数中放置一个 console.log("call") 时,点击后似乎根本没有调用该函数。如果我从 go() 函数中删除 deleteOverlays(),将调用 codeAddress。我的代码有什么问题吗?