我目前使用此脚本:
<script src="http://maps.google.com/maps/api/js?sensor=false"
type="text/javascript"></script>
<div id="map" style="width: 800px; height: 800px;"></div>
<script type="text/javascript">
var locations = [
['info1', 46.780961,6.64018],
['info2', 46.511102,6.493958],
['info3', 46.516786,6.629087],
['info4', 46.442796,6.895498],
['info5', 46.463002,6.843443]
];
var map = new google.maps.Map(document.getElementById('map'), {
zoom: 10,
center: new google.maps.LatLng(46.519962,6.633597),
mapTypeId: google.maps.MapTypeId.ROADMAP
});
var infowindow = new google.maps.InfoWindow();
var marker, i;
for (i = 0; i < locations.length; i++) {
marker = new google.maps.Marker({
position: new google.maps.LatLng(locations[i][1], locations[i][2]),
map: map
});
google.maps.event.addListener(marker, 'click', (function(marker, i) {
return function() {
infowindow.setContent(locations[i][0]);
infowindow.open(map, marker);
}
})(marker, i));
}
</script>
我不使用php / mysql而是使用html,因为地图非常简单(只有五个位置)并且永远不会改变。
我想要的是为每个标记添加不同的图片(例如:http://i.stack.imgur.com/GFfzy.jpg)。
这可能吗?
我不是开发者,我不知道该怎么做。
感谢您的帮助!
答案 0 :(得分:1)
您可以在创建标记时指定图像的网址:
var image = {
url: thumbnailUrl,
size: new google.maps.Size(20, 20),
origin: new google.maps.Point(0,0),
anchor: new google.maps.Point(10, 10)
};
marker = new google.maps.Marker({
icon: image,
position: new google.maps.LatLng(locations[i][1], locations[i][2]),
map: map
});
答案 1 :(得分:1)
这里的问题是javascript关闭。
所以不要做
google.maps.event.addListener(marker, 'click', (function(marker, i) {
return function() {
infowindow.setContent(locations[i][0]);
infowindow.open(map, marker);
}
})(marker, i));
你应该做
google.maps.event.addListener(marker, 'click',
(function (localMarker, location) {
return function () {
infowindow.setContent(location);
infowindow.open(map, localMarker);
};
})(marker, locations[i][0]));