簡體   English   中英

Google Maps V3 API和MarkerManager-如何切換選定的標記?

[英]Google Maps V3 API and MarkerManager - How to toggle selected Markers?

我正在使用實際的Google Maps API v3。 在我的地圖上,我有一些標記。 為了顯示我的標記,我使用了MarkerManager.js。

每個標記都有一個屬性“類型”(介於1到5之間的數字)。

在我的網站上,我有一些單選按鈕。

 <input type="radio" name="display_marker" value="0" checked> All
 <input type="radio" name="display_marker" value="1" checked> 1
 <input type="radio" name="display_marker" value="2" checked> 2
 <input type="radio" name="display_marker" value="3" checked> 3
 <input type="radio" name="display_marker" value="4" checked> 4
 <input type="radio" name="display_marker" value="5" checked> 5

選擇value = 0時,我要顯示所有標記。 選擇value = 1,我只想顯示類型為1等的標記。

創建我的markermanager數組時,請執行以下操作:

$(document).ready(function(){

    var latlng = new google.maps.LatLng(48.135789, 11.579075);
    var mapOptions = {
        zoom: 11,
        center: latlng,
        mapTypeId: google.maps.MapTypeId.ROADMAP
    };

    map = new google.maps.Map(document.getElementById('map'), mapOptions);

    var listener = google.maps.event.addListener(map, 'bounds_changed', function(){
        setupMarkers();
        google.maps.event.removeListener(listener);
    });

});



        function setupMarkers(){
            mgr = new MarkerManager(map);

            var mc = myobject.length;
            google.maps.event.addListener(mgr, 'loaded', function(){
                mgr.addMarkers(createMarkers(mc), 11);
                mgr.refresh();
            });
        }


        function createMarkers(nn){
            var batch = [];

            for(var ii = 0; ii < nn; ii++){

                var marker = new google.maps.Marker({
                    position: getLatLng(ii),
                    title: "marker " + ii,
                    type: getType(ii),
                });

                google.maps.event.addListener(marker, 'click', function(){
                    alert("title:" + this.title + "\ntype: " + this.type);
                });

                batch.push(marker);
            }
            return batch;
        }

在show_marker(val)函數中我該怎么做?

$("#myid input").click(function(){
  show_marker($(this).attr('value'));
});

function show_marker(val){

}

我使用多個標記管理器解決了該問題。 類型= 1的所有標記都進入manager1,類型= 2的所有標記都進入manager2,依此類推。

現在,我可以顯示所有標記管理器,並在onclick上顯示/隱藏它們(managerX.hide())

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM