我正在为一些度假住宿开发一个网站(这是我的第一个网站开发)。
我一直在使用 google maps api V3 处理位置页面,并希望更进一步。目前我只有两个自定义标记 - 但想扩展它,所以我有大约 20 个,以展示该地区的各种活动。这些将分为“家庭”和“购物”等类别,每个类别都有不同的标记图标。所以我需要说 5 种不同的图标样式,每种样式在大约 4 个不同的位置。最重要的是,我需要一个信息框,单击标记时会弹出,单击另一个标记时会消失。
我是 javascript 的新手,它对我来说仍然很复杂,所以如果有人能解释如何做到这一点,我将不胜感激。下面的当前代码,以及它目前的样子在这里:http ://www.upthorpelodges.co.uk/test/location.html
<script type="text/javascript">
function initialize() {
var mapOptions = {
center: new google.maps.LatLng(52.316, 0.901),
zoom: 10,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var map = new google.maps.Map(document.getElementById("map-canvas"),
mapOptions);
setMarkers(map, lodge);
}
var lodge = [
['Lodges', 52.316, 0.901],
['Other', 52, 1],
];
function setMarkers(map, locations) {
var image = {
url: 'http://s20.postimg.org/kq92v5uqh/homepin.png',
size: new google.maps.Size(32, 45),
origin: new google.maps.Point(0,0),
anchor: new google.maps.Point(16, 45)
};
var shadow = {
url: 'http://s20.postimg.org/65s00bzrt/homepin_shadow.png',
size: new google.maps.Size(36, 23),
origin: new google.maps.Point(0,0),
anchor: new google.maps.Point(4, 23)
};
var shape = {
coord: [16, 0, 0, 16, 16, 45, 32 , 16],
type: 'poly'
};
for (var i = 0; i < locations.length; i++) {
var lodge = locations[i];
var myLatLng = new google.maps.LatLng(lodge[1], lodge[2]);
var marker = new google.maps.Marker({
position: myLatLng,
map: map,
shadow: shadow,
icon: image,
shape: shape,
title: lodge[0],
zIndex: lodge[3]
});
}
}
google.maps.event.addDomListener(window, 'load', initialize);
</script>