Google Maps - отображать / скрывать маркер по клику - PullRequest
0 голосов
/ 13 ноября 2009

Проблема: Я получил Google Map. В моем методе init () я установил все маркеры на lon / lat. Теперь я хочу иметь несколько флажков на своей странице. На моей карте есть несколько маркеров для Icecream, Playground и Gasstation. Теперь, установив флажок для Playground, я хочу отобразить все маркеры Playground. При снятии флажка я хочу скрыть все маркеры игровой площадки. То же самое для других маркеров. Я создал свои флажки и написал для него функцию onclick:

function show_poi_in_map(input_id){
    var select_id = input_id;
    var var_name = $('#' + select_id).attr('checked')?1:0;
    if (var_name == 1) {
        alert('checked');
    }else{
        alert('not checked')
    }
}

Но как это продолжить? Я использую JQuery. Может быть, это поможет.

Ответы [ 2 ]

2 голосов
/ 28 ноября 2010
google.maps.event.addListener(map, 'click', function(event) {
  addMarker(event.latLng);
});
function addMarker(location) {
  marker = new google.maps.Marker({
    position: location,
    map: map,
    draggable: true,
    visible: true
  });
  google.maps.event.addListener(marker, 'click', function(event) {
    this.setMap(null);
  });
}
0 голосов
/ 16 октября 2015

Я знаю, что слишком поздно. Но для будущего использования.

Я реализовал то же самое

Я определил два флажка

<body>
<input type="checkbox" id="icecream" onclick="boxclick(this,'icecream')" >IceCream
<input type="checkbox" id="playground" onclick="boxclick(this,'playground')" >PlayGround
</body>

В

function boxclick(box,category) {
   if (box.checked)
   {
        showMarkers(category);  
   } 
   else 
   {
         hideMarkers(category);
   }
}   

function showMarkers(category)
{
    if(category=='icecream')
    {
        for(var i=0;i<icecream.length;i++)
        {   
            icecream[i].setVisible(true);
         }
     }
     if(category=='playground')
     {
        for(var i=0;i<playground.length;i++)
        {   
            playground[i].setVisible(true);
         }
     }
 }

Аналогичная функция для HideMarkers, Просто установите setVisible (false) вместо setVisible (true)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...