2012-12-22 2 views
2

я связать круг с маркером, чтобы сделать вид, как:Как удалить маркер с привязанным кругом с карты?

enter image description here

Но когда я пытаюсь удалить маркер с карты, круг до сих пор существует. Hmm,

Как я могу удалить маркер с помощью круга?

Соответствующий код:

function removeMarker(){ 
    if(selectedMarker) 
     selectedMarker.setMap(null);  
} 

.... 

function createCircle() 
{ 
       var circle = { 
       strokeColor: "#006DFC", 
       strokeOpacity: 0.4, 
       strokeWeight: 2, 
       fillColor: "#006DFC", 
       fillOpacity: 0.15, 
       map: mapA, 
       center: selectedMarker.getPosition(), 
       radius: 50 // in meters 
      }; 
      var cityCircle = new google.maps.Circle(circle);  


      cityCircle.bindTo('center', selectedMarker, 'position'); 
} 

Любые предложения будут оценены.

Спасибо,

ответ

3

Если вы хотите, чтобы удалить круг, когда вы удалите маркер, вы должны удалить его также.

cityCircle.setMap(null); 

Вам нужно будет держать ссылку на круг, чтобы сделать это (не проверено):

function removeMarker(){ 
    if(selectedMarker) 
    selectedMarker.setMap(null); 
    selectedMarker._mycityCircle.unbindAll(); 
    selectedMarker._mycityCircle.setMap(null); 
} 

.... 

function createCircle() 
{ 
    var circle = { 
    strokeColor: "#006DFC", 
    strokeOpacity: 0.4, 
    strokeWeight: 2, 
    fillColor: "#006DFC", 
    fillOpacity: 0.15, 
    map: mapA, 
    center: selectedMarker.getPosition(), 
    radius: 50 // in meters 
    }; 

    cityCircle.bindTo('center', selectedMarker, 'position'); 
    selectedMarker._mycityCircle = cityCircle; 
} 
+0

Спасибо за ответ. '_myCircle' dosn't имеют метод' setMap'. Я не размещал «круг» на карте только для привязки к маркеру. –

+0

Протестировано, оно работает с некоторыми изменениями –

Смежные вопросы