我已经建立了一个带有 122 个标记、多个类别 (12) 的谷歌地图。我可以根据每个标记使用的图像创建一个过滤器,以便打开/关闭表单中的标记吗?将另一个变量定义为“类别”变量会更好吗?如果我使用 JQuery,我该如何重构代码以使其正常工作?
任何想法,将不胜感激。
JScript 看起来像这样:
function initialize() {
var myOptions = {
center: new google.maps.LatLng(,),
zoom: 12,
mapTypeId: google.maps.MapTypeId.TERRAIN
};
var map = new google.maps.Map(document.getElementById('map_canvas'),myOptions);
var image = []; //define an array to store category images
image['church']='icons/chapel-2.png'
image['monastery']='icons/convent-2.png'
image['archaeo']='icons/monument.png'
image['wild']='icons/wildlife.png'
image['museum']='icons/museum_openair.png'
image['beach']='icons/beach.png'
image['must']='icons/star.png'
image['summit']='icons/peak.png'
image['cave']='icons/cave-2.png'
image['forest']='icons/palmTree.png'
image['gorge']='icons/canyon-2.png'
image['village']='icons/smallcity.png'
//define 122 markers as below until var marker122 (no comments here I am trying to keep it simple..
var marker = new google.maps.Marker({
position: new google.maps.LatLng(,),
map: map,
title: 'placeName',
clickable: true,
icon: image['must']
});
HTML 看起来像这样:
<form action="#">
Must Visit: <input type="checkbox" id="mustbox" onclick="boxclick(this,'must')" />
Beaches: <input type="checkbox" id="beachbox" onclick="boxclick(this,'beach')" />
Archaeology: <input type="checkbox" id="archaeobox" onclick="boxclick(this,'archaeo')" />
Church: <input type="checkbox" id="religionnbox" onclick="boxclick(this,'church')" />
Monastery: <input type="checkbox" id="conventbox" onclick="boxclick(this,'convent')" />
Gorge: <input type="checkbox" id="gorgebox" onclick="boxclick(this,'gorge')" />
Cave: <input type="checkbox" id="cavetbox" onclick="boxclick(this,'cave')" />
Forest: <input type="checkbox" id="forestbox" onclick="boxclick(this,'forest')" />
Wildlife: <input type="checkbox" id="wildbox" onclick="boxclick(this,'wild')" />
Museum: <input type="checkbox" id="museumbox" onclick="boxclick(this,'museum')" />
Villages: <input type="checkbox" id="villagebox" onclick="boxclick(this,'village')" /><br />
Mountain Summit: <input type="checkbox" id="summitbox" onclick="boxclick(this,'summit')" /><br />