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);
}
});
答案 0 :(得分:5)
答案 1 :(得分:0)
试试这个:
map.setOptions({draggable: true});