【问题标题】:how to get nearest location for point in openlayers OSM如何在openlayers OSM中获取点的最近位置
【发布时间】:2013-02-27 09:03:00
【问题描述】:

最近我开始关注 openlayers 和 openstreetmap。 我想要做的是画一条线,然后从那里得到最近的起点和终点的经度和纬度位置。 我能够得到以下点的经度和纬度是它的脚本。

    <script type="text/javascript">
    var map, layer;
    function init(){
        var
        map = new OpenLayers.Map("map");
        layer = new OpenLayers.Layer.OSM( "Simple OSM Map");

        // allow testing of specific renderers via "?renderer=Canvas", etc
        var renderer = OpenLayers.Util.getParameters(window.location.href).renderer;
        renderer = (renderer) ? [renderer]:OpenLayers.Layer.Vector.prototype.renderers;

        var vectors = new OpenLayers.Layer.Vector("Vector Layer", {
            renderers: renderer
        });
        vectors.events.on({
            'featureselected': function(feature) {
                $('counter').innerHTML = this.selectedFeatures.length;
            },
            'featureunselected': function(feature) {
                $('counter').innerHTML = this.selectedFeatures.length;
            }
        });

        map.addLayers([layer, vectors]);

        line =  new OpenLayers.Control.DrawFeature(
                vectors, OpenLayers.Handler.Path
           );

       line.events.register('featureadded', line, handleMapClick);

        map.addControl(line);

         map.setCenter(
            new OpenLayers.LonLat(-71.147, 42.472).transform(
                new OpenLayers.Projection("EPSG:4326"),
                map.getProjectionObject()
            ), 15
        ); 
    }

  function handleMapClick(evt)
  {
  // create a WKT reader/parser/writer          
  var wkt = new OpenLayers.Format.WKT();

   // write out the feature's geometry in WKT format
   var out = wkt.write(evt.feature);
   alert(out);
  } 

但我无法获得它最近的位置。

【问题讨论】:

    标签: openlayers openstreetmap


    【解决方案1】:

    您可以使用Overpass_API 获取该行的 BBox 中的所有位置(您可以对其进行缓冲)。 如果您的线太长,您可以缓冲(使用 OL)该线并使用“按多边形”-选择 现在你有一个(希望是)小集合来获得最近的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多