4

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

2 に答える 2

5

あなたが持っていdraggable: false,ます。

に変更しますtrue

ここで動作することを確認してください:http://jsfiddle.net/RASG/vA4eQ/

于 2012-10-24T15:42:10.870 に答える
0

これを試して:

 map.setOptions({draggable: true});
于 2013-10-03T08:37:42.870 に答える