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);
}
});