0

从谷歌地图中删除标记后,我想添加新标记。但是,我的代码并没有达到我的预期。删除后,无法添加新的标记。

代码片段

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。我的代码有什么问题吗?

4

0 回答 0