问题: 我有一张谷歌地图。 在我的init()方法中,我将所有标记设置为其lon / lat。 现在我想在我的页面上有一些复选框。 在我的地图中,我有几个冰淇淋,游乐场和加油站标记。 现在,单击Playground的复选框我想显示所有Playground标记。在禁用复选框时,我想隐藏所有的游乐场标记。 其他标记也一样。 我创建了我的Checkbox并为它编写了一个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。也许这会有所帮助。
答案 0 :(得分:2)
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);
});
}
答案 1 :(得分:0)
我知道为时已晚。但是为了将来的使用。
我实现了相同的
我定义了两个复选框
<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)