谷歌地图(API v2)+ jQuery UI对话,不可拖动的拖动问题

时间:2010-12-14 17:12:09

标签: jquery jquery-ui google-maps google-maps-api-2

嘿!


我正在使用Google Maps API v2(出于某种原因, 是v2)和jQuery UI 1.8.6(以及jQuery 1.4.1)。

情况如下: 我在模态对话框中有一张地图。

问题是: 当我点击信息“气球”的阴影并拖动地图时,它不会停止拖动。

我真的不知道应该提供哪种代码,所以,如果您希望我专门提供一些代码,请告诉我。

function createMarker(latitude, longitude, num, color, id_local) {

var iconOptions = {};
iconOptions.width = 32;
iconOptions.height = 32;
iconOptions.primaryColor = ''+color;
iconOptions.label = ''+num;
iconOptions.cornerColor = "#82c4e8";
iconOptions.strokeColor = "#000000";

var newIcon = MapIconMaker.createLabeledMarkerIcon(iconOptions);
//
var point = new GLatLng(latitude,longitude,0);
//
var marker = new GMarker(point, {
    icon: newIcon
});


var html = $('#info_mapa_'+id_local).html();
GEvent.addListener(marker, 'click', function() {
    marker.openInfoWindowHtml(html);
});

return marker;
}


谢谢。

2 个答案:

答案 0 :(得分:0)

更新

DEMO:http://jsbin.com/ofuze4

DEMO:http://so.devilmaycode.it/google-maps-api-v2-jquery-ui-dialog-non-stoppable-dragging-problem/

PSEUDO CODE:

JS:

$(function() {
    $("#j-dialog").dialog({
        resizable: false,
        width: 500,
        height: 400,
        open: function() {
            initialize();
        }
    });
});
function initialize() {
    var latlng = new google.maps.LatLng( - 34.397, 150.644);
    var myOptions = {
        zoom: 8,
        center: latlng,
        mapTypeId: google.maps.MapTypeId.ROADMAP
    };
    var map = new google.maps.Map($("#map_canvas")[0], myOptions);

    var contentString = $('#map-info').text();

    var infowindow = new google.maps.InfoWindow({
        content: contentString
    });

var newIcon = 'http://cdn2.iconfinder.com/data/icons/oxygen/48x48/actions/note2.png';

var marker = new google.maps.Marker({ 
    icon: newIcon,
    position: latlng,
    map: map,
    title: "Hello World!"
});

    google.maps.event.addListener(marker, 'click',
    function() {
        infowindow.open(map, marker);
    });
}

CSS:

<style>#map_canvas { margin:0 auto; width:450px; height: 340px }</style>

HTML:

    <div title="google maps inside jquery dialog" id="j-dialog">    
      <div id="map_canvas">
      </div>  
    </div>

希望这个帮助

<强>参考:

  

答案 1 :(得分:0)

我的老板决定花一天时间迁移到v3并摆脱这个愚蠢的问题。谢谢大家。