2017-02-03 18 views
0

Я использую код Shreerang Patwardhan для геокодирования Javascript. Однако у меня возникают трудности с удалением предыдущего маркера при вводе нового адреса. У меня Googled и экспериментировал, но я просто не могу получить результат, который я хочу. Я хочу, чтобы предыдущий маркер был удален/скрыт, когда новый маркер попал.Удалить предыдущий маркер (Карты Google)

HTML:

<html> 
    <head> 
    <title>Google Maps API v3 Example : Geocoding Simple</title> 
    <script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script> 
    <script type="text/javascript"> 
    </script> 
    </head> 
    <body onload="initialize()"> 
    <div align="center" style="height: 30px; width: 430px"> 
     <input id="address" type="textbox"> 
     <input type="button" value="Geocode" onclick="codeAddress()"> 
    </div> 
    <div id="map" style="height:200px; width: 430px"></div> 
    </body> 
</html> 

Javascript:

var geocoder; 
var map; 
function initialize() 
{ 
    geocoder = new google.maps.Geocoder(); 
    map = new google.maps.Map(document.getElementById("map"), 
    { 
     zoom: 8, 
     center: new google.maps.LatLng(22.7964,79.5410), 
     mapTypeId: google.maps.MapTypeId.ROADMAP 
    }); 
} 

function codeAddress() 
{ 
    var address = document.getElementById("address").value; 
    geocoder.geocode({ 'address': address}, function(results, status) 
    { 
     if (status == google.maps.GeocoderStatus.OK) 
     { 
      map.setCenter(results[0].geometry.location); 
      var marker = new google.maps.Marker(
      { 
       map: map, 
       position: results[0].geometry.location 
      }); 
     } 
     else 
     { 
      alert("Geocode was not successful for the following reason: " + status); 
     } 
    }); 
} 

код, который я использую тот же код, как и в this JS Fiddle:

+0

вам нужно сделать marker.setMap (NULL); маркер является ссылкой на предыдущий маркер –

+0

Где я должен его разместить? У меня нет никаких маркеров. – Blasty

+0

э-э, вы делаете. Поместите строку @ VinodLouis непосредственно перед тем, где вы делаете 'var marker = new google.maps.Marker' – duncan

ответ

1

Вам нужно сделать marker.setMap (ноль); маркер Teh ссылка на предыдущий маркер

if(marker) 
    marker.setMap(null) 

http://jsfiddle.net/F4Sd2/637/ является рабочей скрипку

+0

Спасибо, хороший сэр. – Blasty