如何双击Openstreetmap获得坐标? [英] How to get coordinates on double click on Openstreetmap?
问题描述
我正在使用 angular-openlayers-directive ,我想获取我双击的点.
I am using angular-openlayers-directive , I want to get coordinates of the point where I double click.
一个类似的问题:
但是我想在angularjs中使用它.
But I want to use it in angularjs.
推荐答案
您应该查看以下示例: http://jsfiddle.net/anushamc/6q2az5xz/.简要地说,您需要通过将其包含在默认值中来监听地图上的事件,例如:
You should check this example out: http://tombatossals.github.io/angular-openlayers-directive/examples/080-events-propagation-example.html. It shows how you can find the lat-long coordinates for mouseover. Also, here is a fiddle I made showing how you can extend it for double click: http://jsfiddle.net/anushamc/6q2az5xz/. Briefly, you need to listen for the events on the map by including it in the defaults like:
defaults: {
events: {
map: ['singleclick', 'pointermove', 'dblclick']
}
}
和
<openlayers ol-defaults="defaults"></openlayers>
并包括一个openlayers.map.dbl的侦听器.单击范围.
and include a listener for openlayers.map.dblclick on the scope.
$scope.$on('openlayers.map.dblclick', function(event, data) {
$scope.$apply(function() {
if ($scope.projection === data.projection) {
$scope.mousedoubleclickposition = data.coord;
} else {
var p = ol.proj.transform([data.coord[0], data.coord[1]], data.projection, $scope.projection);
$scope.mousedoubleclickposition = {
lat: p[1],
lon: p[0],
projection: $scope.projection
}
}
});
});
这篇关于如何双击Openstreetmap获得坐标?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!