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



我的位置查找器显示了多个标记,但我不希望这样。我不太擅长谷歌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     
        }
  }

我还没有测试代码,但这正是你需要的想法!

相关内容

  • 没有找到相关文章

最新更新