2

とマーカーの群)を表示します。今のhttp://www.pittss.lv/jquery/gomap/solutions/group.html非表示/ここのように私は(プラグインgomapとマップにマーカーのグループを表示/非表示にするgomap-プラグイン

私は隠れ/閲覧とそれを実現唯一のマーカー:

$(function() { 
    $("#map_canvas").goMap({ 
     latitude: 46.839, 
     longitude: 9.285, 
     zoom: 15 , 
     scaleControl: true, 
     maptype: 'ROADMAP', 
     markers: [{ 
      latitude: 46.839, 
      longitude: 9.285, 
      id: 'biketour1', 
      group: 'bike', 
      icon: 'pic/Kategorien/icon_bike.png', 
      html: { 
       content: 'Das ist die Biketour1', 
       popup:false 
      } 
     },{ 
      ... 
      } 
     }], 
    }); 
    }); 

$("#bike-check").click(function() { 
     $.goMap.showHideMarker('bike'); 
    }); 

グループの非表示/表示を実現する方法を説明できますか?私はすでにクラスでそれを試してみましたが、これを


更新...作業していません。ここ

$(".parentcheck").click(function() { 
var group = $(this).attr("id"); 

switch (group) { 
    case "bike-check": 
     showhidemarker("bike"); 
    break; 
    case "event-check": 
     //and so on 
    break; 
} 
}); 



/*! show/hiding markergroup 
    * 
    * @ groupid Group id string 
    * @ true Optional boolean to set the visibility to a specific value. If omitted, markers will toggle. 
*/ 
function showhidemarker(groupid){ 
    for (var i in $.goMap.markers) { 
     $.goMap.showHideMarker($.goMap.markers[i], false); 
     console.log("it works"); 
    } 
    $.goMap.showHideMarkerByGroup(groupid, true); 
} 

HTML(チェックボックスをクリックすることにより、マーカーが表示されたりべきではありません)

... 
    <ul> 
     <li class="checkbox"> 
      <input id="bike-check" class="parentcheck" name="parentcheck" type="checkbox" checked="checked" value="Bike" /> 
      <p>Bike</p> 
     </li> 
     <li class="checkbox"> 
      <input id="event-check" class="parentcheck" type="checkbox" checked="checked" value="Events" /> 
      <p>Events</p> 
     </li> 
    </ul> 
... 

問題は、である。この方法:$ .goMap.showHideMarkerByGroup(グループID、真の); は正常に機能していません。

イベントのマーカーは、自転車のチェックボックスをクリックすると消えますが、チェックボックスのバイクをクリックすると、自転車のマーカーが消えるはずです。

どうしたのですか?

答えて

3

はそれを得た:)

var categories = { 
     "bike-check": { 
      "groupID": "bike", 
      "isVisible": true 
     }, 
     "event-check": { 
      "groupID": "event", 
      "isVisible": true 
     } 
    }; 

$(".parentcheck").click(function() { 

    var id = $(this).attr("id"); 

    categories[ id ].isVisible = !categories[ id ].isVisible; 
    showhidemarker(categories[ id ].groupID,categories[ id ].isVisible ); 

}); 
function showhidemarker(groupid,show){ 
    $.goMap.showHideMarkerByGroup(groupid, show) 
} 
2

をはるかに簡単、すべてを非表示にのみ必要なものを表示することです... GoMap例

for (var i in $.goMap.markers) { 
    $.goMap.showHideMarker($.goMap.markers[i], false); 
} 
$.goMap.showHideMarkerByGroup(group, true); 
2

からのサンプルあなたは/表示するには、チェックボックスを使用している場合グループを非表示にするには、チェックボックスのIDが「NFLCheckbox」で、グループの名前が「NFLGroup」であることを前提にして、このようにすることができます。

$("#NFLCheckbox").click(function() { 
    if ($('#NFLCheckbox').is(':checked')) { 
     $.goMap.showHideMarkerByGroup('NFLGroup', true) 
    } else { 
     $.goMap.showHideMarkerByGroup('NFLGroup', false) 
    } 
}); 

詳細については、ここで記事を書いた:http://www.codeproject.com/Articles/690045/How-to-Display-and-Hide-Marker-Groups-in-Google-Ma

関連する問題