谷歌地图将对象从地图外部拖放到谷歌地图中

Posted

技术标签:

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

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

【问题讨论】:

【参考方案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% 
#shelfposition: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

【讨论】:

你为什么拒绝我的修复?我想补充一点,如果地图不在页面的左上角,您的方法无法正常工作。 修复标记偏移:***.com/questions/18912744/…

以上是关于谷歌地图将对象从地图外部拖放到谷歌地图中的主要内容,如果未能解决你的问题,请参考以下文章

谷歌地图标记出现在地图上的错误位置

创建没有谷歌地图参考的标记(谷歌地图标记)对象

从谷歌地图中获取拖拽的路线数据

谷歌地图怎么使用

怎么使用谷歌地图

在 jquery mobile / phonegap 中重新加载外部脚本(即谷歌地图)