[英]Google Maps V3 API and MarkerManager - How to toggle selected Markers?
I am using the actual google maps api v3. 我正在使用实际的Google Maps API v3。 In my map, I have some Markers. 在我的地图上,我有一些标记。 For displaying my markes, I am using the MarkerManager.js. 为了显示我的标记,我使用了MarkerManager.js。
Each marker has an attribute "type" (a number between 1 and 5). 每个标记都有一个属性“类型”(介于1到5之间的数字)。
On my site I have some radiobuttons. 在我的网站上,我有一些单选按钮。
<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
On selecting value=0, I want to show all markers. 选择value = 0时,我要显示所有标记。 Selecting value=1, I want to show only the markers whose type beeing 1 and so on. 选择value = 1,我只想显示类型为1等的标记。
When creating my markermanager array I do following: 创建我的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;
}
What do I have to do in my show_marker(val) function? 在show_marker(val)函数中我该怎么做?
$("#myid input").click(function(){
show_marker($(this).attr('value'));
});
function show_marker(val){
}
I fixed the problem using multiple marker managers. 我使用多个标记管理器解决了该问题。 All markers with type=1 go to manager1, all markers with type=2 go to manager2 and so on. 类型= 1的所有标记都进入manager1,类型= 2的所有标记都进入manager2,依此类推。
Now I can show all markermanages and show/hide them onclick (managerX.hide() ) 现在,我可以显示所有标记管理器,并在onclick上显示/隐藏它们(managerX.hide())
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.