Google Maps V3 APIおよびMarkerManager-選択したマーカーを切り替える方法は?
-
10-10-2019 - |
質問
実際のGoogleマップ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
値= 0を選択すると、すべてのマーカーを表示します。値= 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に移動し、Type = 2のすべてのマーカーはManager2などに移動します。
これで、すべてのマーカーダージュを表示し、それらを表示/非表示にできます(managerx.hide())
所属していません StackOverflow