【问题标题】:google maps drag and drop objects into google maps from outside the Map谷歌地图将对象从地图外部拖放到谷歌地图中
【发布时间】:2011-07-27 12:39:25
【问题描述】:

我正在做一个项目,我需要有关如何将地图外部的对象拖放到其中的帮助。我尝试了很多例子,但我没有找到解决方案,所以如果你能提供一个代码示例来帮助和感谢。

【问题讨论】:

    标签: jquery google-maps drag-and-drop


    【解决方案1】:

    检查这是否或多或少是您想要的(您需要提供一个小图标文件以进行拖动 - 在源中相应地更新文件名)。顺便提一下,带有可拖动图标的架子也可以放置在地图之外的任何地方。

    <!DOCTYPE html>
    <html>
    <head>
    <meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
    <link href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/themes/base/jquery-ui.css" rel="stylesheet" type="text/css"/>
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js"></script>
    <script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.min.js"></script>
    <style type="text/css">
    *{
    margin: 0px;
    padding: 0px;
    }
    html { height: 100% }
    body{ height: 100%; margin: 0px; padding: 0px;}
    #map_canvas { height: 100% }
    #shelf{position:fixed; top:10px; left:500px; height:100px;width:200px;background:white;opacity:0.7;}
    #draggable {position:absolute;top:10px, left:10px; width: 30px; height: 30px;z-index:1000000000;}
    </style>
    <script type="text/javascript">
    $(document).ready(function() {
    $("#draggable").draggable({helper: 'clone',
    stop: function(e) {
        var point=new google.maps.Point(e.pageX,e.pageY);
        var ll=overlay.getProjection().fromContainerPixelToLatLng(point);
        placeMarker(ll);
        }
    });
    });
    </script>
    <script type="text/javascript"
    src="http://maps.google.com/maps/api/js?sensor=false">
    </script>
    <script type="text/javascript">
    var $map;
    var $latlng;
    var overlay;
    function initialize() {
    var $latlng = new google.maps.LatLng(66.5, 25.733333);
    var myOptions = {
      zoom: 3,
      center: $latlng,
      mapTypeId: google.maps.MapTypeId.ROADMAP,
      mapTypeControlOptions: {
        style: google.maps.MapTypeControlStyle.DROPDOWN_MENU,
        position: google.maps.ControlPosition.TOP_LEFT },
         zoomControl: true,
    zoomControlOptions: {
        style: google.maps.ZoomControlStyle.LARGE,
        position: google.maps.ControlPosition.LEFT_TOP
    },
    scaleControl: true,
    scaleControlOptions: {
        position: google.maps.ControlPosition.TOP_LEFT
    },
    streetViewControl: false,
    
      panControl:false,
    
    };
    $map = new google.maps.Map(document.getElementById("map_canvas"),
        myOptions);
    
    overlay = new google.maps.OverlayView();
    overlay.draw = function() {};
    overlay.setMap($map);
    } 
    function placeMarker(location) {
      var marker = new google.maps.Marker({
      position: location, 
      map: $map,
      icon:'spring-hot.png'
      });
    
    }
    </script>
    </head>
    <body onload="initialize()">
        <div id="map_canvas">    </div>
    <div id='shelf'>Drag the image<br/><img id="draggable" src='spring-hot.png'/><div>
    </body>
    </html>
    

    K

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多