将 jquery .position() 转换为 google maps latlng
Convert jquery .position() to google maps latlng
我有一个有点有趣的问题,我很难弄清楚。 我正在从地图外部实现一个可拖动的div,并希望将其拖到地图上。 我已经触发事件并抓住掉落的位置,但现在我需要将其转换为地图可以理解的内容。
有没有办法将 .position() 返回的值转换为谷歌地图可以理解的 latlng 或点? 我一直在弄乱地图投影,但似乎无法让它相对于地图上的视口工作。 任何朝向正确方向的点都会很棒。
$('#map').droppable({
drop: function(e, ui) {
console.log(e);
console.log(ui);
var rawMouseLocation = $('#map').mapPlugin('mouseLocation', ui.position);
mouseLocation = rawMouseLocation.toString().replace(/[()]/g,'')
var field = $(ui.draggable[0]).data('fieldID');
var iconPath = $(ui.draggable[0]).find('img').attr('src');
$('.'+field).val(mouseLocation).removeClass('default-text');
var layerName = $('#map').mapPlugin('addNewFieldLayer',field, rawMouseLocation, {
"iconPath":iconPath,
'onDragEnd':self.updateField
});
newLayers.push(layerName);
$(ui.draggable).draggable( 'disable' );
}
});
在"鼠标位置"功能中,我需要一种方法将该位置转换为地图坐标。 我什至不确定这是否可能,但任何帮助将不胜感激。 谢谢。
我能够想出一个使用地图叠加视图的解决方案。
// bunch of stuff to get an overlay set up to convert a pixel location to a lat/long
MyOverlay.prototype = new google.maps.OverlayView();
MyOverlay.prototype.onAdd = function() { }
MyOverlay.prototype.onRemove = function() { }
MyOverlay.prototype.draw = function() { }
function MyOverlay(map) { this.setMap(map); }
overlay = new MyOverlay(aMap);
google.maps.event.addListener(aMap, 'idle', function() {
// Get projection
projection = overlay.getProjection();
})
然后在我的鼠标位置函数中,我这样做:
// need to convert mouse location into a lat/long point
var point = new google.maps.Point(eventPosition.pageX, eventPosition.pageY);
var latlng= projection.fromContainerPixelToLatLng(point);
return latlng;
哪个有鼠标位置的拉特隆! 谢谢!@Vesliq
相关文章:
- 单击超链接时,如何使用Google Maps API v3缩放地图
- 使用Google Maps API向标记添加多个字符
- Google Maps API OverlayView()在AngularJS指令中不起作用
- 使用Google Maps API驱动时间多边形
- 使用Google Maps JavaScript API v3和Geocoding API映射多个位置
- 在for循环中使用多维数组设置google.maps.Marker图标
- 可扩展的画布作为Google Maps Javascript API中的覆盖
- 在自动完成中使用Google Maps Places API;API不工作
- google.maps.event.addDomListener(window, 'load', fun
- 根据PHP中数组的长度在Google Maps API中循环遍历标记
- 加载Google MAPS API v3的JSON数据
- 如何使用Dojo引用Google Maps事件中的包含类
- Javascript:Google Maps API:如果地图加载在隐藏容器中,则为空白地图
- 如何在Ionic/Codova应用程序中保护我的Google Maps Javascript V3 API密钥
- 来自JSON数组的Google Maps API生成器
- Google Maps JavaScript API v3:getDetails(请求,回调),用于多个位置
- "现代的“;在Google Maps JS API v3上使用字母标记
- Google Maps Javascript v3 自定义控件子类化标准控件
- Google Maps panTo conflicts with addListener
- 来自plugin.google.maps(不是com.google.maps)的标记不会改变其位置