嗨我有这个代码,每次点击添加标记按钮时都会在地图上添加一个标记。有关如何在地图上添加标记时每次更改标记图标的任何建议吗?非常感谢。
function initialize() {
var myLatlng = new google.maps.LatLng(40.779502, -73.967857);
var myOptions = {
zoom: 7,
center: myLatlng,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
map = new google.maps.Map(document.getElementById("map"), myOptions);
TestMarker();
}
google.maps.event.addDomListener(window, 'load', initialize);
function addmarker(location) {
marker = new google.maps.Marker({
position: location,
draggable:true,
map: map
for()
});
}
// Testing the addMarker function
function TestMarker() {
CentralPark = new google.maps.LatLng(40.779502, -73.967857);
addmarker(CentralPark);
}
答案 0 :(得分:2)
您可以使用Google的自定义地图标记,例如他们提供的以下代码段:
var marker = new google.maps.Marker({
position: myLatLng,
map: map,
icon: iconBase + 'schools_maps.png'
});
为了在每次用户添加标记时创建新图标,您可以创建图像位置数组,然后在每次用户添加新图像时遍历数组。以下是有关Google自定义标记的更多文档:
https://developers.google.com/maps/tutorials/customizing/custom-markers
您还可以为特定要素定义特定标记,并将该要素作为参数传递。 Google还提供了一些此功能的示例代码:
var iconBase = 'https://maps.google.com/mapfiles/kml/shapes/';
var icons = {
parking: {
icon: iconBase + 'parking_lot_maps.png'
},
library: {
icon: iconBase + 'library_maps.png'
},
info: {
icon: iconBase + 'info-i_maps.png'
}
};
function addMarker(feature) {
var marker = new google.maps.Marker({
position: feature.position,
icon: icons[feature.type].icon,
map: map
});
}