【问题标题】:Google Maps marker is set draggable, but cannot drag it谷歌地图标记设置为可拖动,但不能拖动
【发布时间】:2012-10-14 15:40:56
【问题描述】:

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

【问题讨论】:

  • 嗯,有很多代码,我不知道该发布什么....正如我所指出的,相同的 javascript 适用于另一个页面。如果您访问该网站可能会更好?
  • 是的,我明白了,但是,看看网站是如何构建的可能会有所帮助。我在帖子中添加了一些 javascript。
  • 不幸的是,我粘贴了一个编辑过的部分。设置一直为真。奇怪的是,如果我将“可点击”和“可拖动”设置为“真”,点击事件也不起作用。

标签: google-maps draggable google-maps-markers


【解决方案1】:

你有draggable: false,

改成true

在这里看到它的工作:http://jsfiddle.net/RASG/vA4eQ/

【讨论】:

    【解决方案2】:

    试试这个:

     map.setOptions({draggable: true});
    

    【讨论】:

      猜你喜欢
      • 2016-04-10
      • 2011-08-07
      • 2016-08-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-27
      • 2012-08-07
      • 1970-01-01
      相关资源
      最近更新 更多