API v3
我对标记有一个奇怪的问题:
我在地图上放置的标记设置为可拖动,WebInspector 将其报告为可拖动,但我仍然无法拖动它。当我越过标记时,光标不会改变。
底层地图是可拖动的,并且有效。
在另一个页面上,使用不同的设置(更少的层),但相同的 javascript,它按预期工作(所以我可以在那里拖动它)。
我还使标记可单击并将事件绑定到它,并且效果很好。鼠标悬停时光标也会发生变化。
我已经用完了选项.... 为什么我不能拖动它?这可能与某些 zIndex 或图层定位有关吗?据我所见,该地图的 zIndex 比所有其他图层都高....
// 显示地图
geocoder.geocode( { 'address':address }, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
// map options
var mapOptions = {
zoom: 14,
center: results[0].geometry.location,
panControl: false,
zoomControl: true,
zoomControlOptions: {
style: google.maps.ZoomControlStyle.SMALL
},
mapTypeControl: false,
scaleControl: false,
streetViewControl: false,
mapTypeId: google.maps.MapTypeId.ROADMAP,
scrollwheel: false
};
// render map
map = new google.maps.Map(J('#'+mapElementId)[0], mapOptions);
// set marker
marker = new google.maps.Marker({
clickable: true,
draggable: true,
icon: markerImage,
shadow: markerShadow,
shape: markerShape,
map: map,
position: results[0].geometry.location
});
google.maps.event.addListener(marker, 'click', function () { alert('marker clicked'); });
google.maps.event.addListener(marker, 'dragend', function () {
alert('marker dragged')
map.setCenter(marker.getPosition());
J('input[name=coordinates]').val(marker.getPosition());
J('input[name=address]').val('');
});
J('input[name=address]').val(results[0].formatted_address);
}
});