How to get coordinates on double click on Openstreetmap?

前端 未结 1 1877
面向向阳花
面向向阳花 2021-01-29 09:05

I am using angular-openlayers-directive , I want to get coordinates of the point where I double click.

A similar question:

Convert point to lat lon

But I

相关标签:
1条回答
  • 2021-01-29 09:43

    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']
          }
        }
    

    and

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

    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
            }
          }
        });
      });
    
    0 讨论(0)
提交回复
热议问题