使用marker.setVisible函數並設置true或false:
$('#your_checkbox_id').change(function() {
Jorvik.setVisible($(this).is(":checked"));
});
創建谷歌地圖:
iMap.initialize('map');
var Jorvik = iMap.markerCreate('title', 53.95697, -1.08100,true);
自定義類谷歌地圖(你可以設置你的選項):
var iMap = {
marker: null,
initialize: function(mapElementId) {
var mapOptions = {
zoom: 15,
streetViewControl: this.streetViewControl,
scrollwheel: this.scrollwheel,
navigationControl: this.navigationControl,
minZoom: this.minZoom,
maxZoom: this.maxZoom,
center: new google.maps.LatLng(53.95697, -1.08100),
mapTypeId: 'Styled',
mapTypeControlOptions: {
mapTypeIds: ['Styled', google.maps.MapTypeId.HYBRID]
}
};
var styelMap = [
{
featureType: 'poi',
elementType: 'geometry',
stylers: [
{ hue: '#ffffff' },
{ saturation: -100 },
{ lightness: 100 },
{ visibility: 'on' }
]
}, {
featureType: 'landscape',
elementType: 'all',
stylers: [
{ hue: '#ffffff' },
{ saturation: -100 },
{ lightness: 100 },
{ visibility: 'on' }
]
}, {
featureType: 'transit',
elementType: 'geometry',
stylers: [
{ hue: '#ffffff' },
{ saturation: 0 },
{ lightness: 100 },
{ visibility: 'on' }
]
}, {
featureType: 'administrative',
elementType: 'geometry',
stylers: [
{ hue: '#ffffff' },
{ saturation: 0 },
{ lightness: 100 },
{ visibility: 'on' }
]
}
];
this.map = new google.maps.Map(document.getElementById(mapElementId), mapOptions);
this.map.mapTypes.set('Styled', new google.maps.StyledMapType(styelMap, { name: 'Compact map' }));
},
markerCreate: function (title, lat, lng ,draggable ) {
this.marker= new google.maps.Marker({
map: this.map,
title: title,
position: new google.maps.LatLng(lat, lng),
animation: google.maps.Animation.DROP,
draggable: draggable
});
google.maps.event.addListener(pin, "drag", function() {
// $('#lat').html(pin.position.lat());
// $('#lng').html(pin.position.lng());
});
return this.marker;
}
}
請問我的標記相同的方式工作?他們似乎被創造不同。 – 3245737
是的! ,將它推到一個全局數組上並循環遍歷它,併爲每個標記使用setVisible(true/false)函數,同樣地爲其他個體分別標記。 – Dee