【问题标题】:How to get coordinates on double click on Openstreetmap?如何在 Openstreetmap 上双击获取坐标?
【发布时间】:2016-04-05 19:45:50
【问题描述】:

我正在使用 angular-openlayers-directive ,我想获取双击点的坐标。

一个类似的问题:

Convert point to lat lon

但我想在 angularjs 中使用它。

【问题讨论】:

  • 你的意思是,使用你正在使用的指令获取坐标?
  • 是的,使用 angular-openlayers-directive !

标签: angularjs angularjs-directive openstreetmap openlayers-3 angular-openlayers


【解决方案1】:

你应该看看这个例子:http://tombatossals.github.io/angular-openlayers-directive/examples/080-events-propagation-example.html。它显示了如何找到鼠标悬停的经纬度坐标。此外,这是我制作的一个小提琴,展示了如何扩展它以进行双击:http://jsfiddle.net/anushamc/6q2az5xz/。简而言之,您需要通过将其包含在默认值中来监听地图上的事件,例如:

defaults: {
      events: {
        map: ['singleclick', 'pointermove', 'dblclick']
      }
    }

<openlayers ol-defaults="defaults"></openlayers>

并在范围上包含一个 openlayers.map.dblclick 的侦听器。

$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
        }
      }
    });
  });

【讨论】:

    猜你喜欢
    • 2015-10-26
    • 2018-05-04
    • 1970-01-01
    • 1970-01-01
    • 2010-11-29
    • 1970-01-01
    • 2013-02-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多