How to get nodes in OpenStreetMap using Leaflet strictly contained in my current view?

问题描述 投票:0回答:0

我能够从 OSM api 正确查询数据。 我还可以在地图上正确显示高速公路和干线。 但是,查询总是返回固定缩放的结果,即使我当前的缩放更高。

这就是我打电话的方式:

var opl = new L.OverPassLayer({
  minZoom: 14,

  query: '(way({{bbox}})["highway"~"^(' + query + ')$"];);(._;>;);out geom;',

  onSuccess: function (data) {
    console.log(data);

    urlxml = data.urlxml;
    data = data.result;

    var xhttp = new XMLHttpRequest();
    xhttp.onreadystatechange = function () {
      if (this.readyState == 4 && this.status == 200) {
        // Typical action to be performed when the document is ready:
        //document.getElementById("demo").innerHTML = xhttp.responseText;
        $("#fileData").text(xhttp.responseText);
        console.log(xhttp.responseText);
      }
    };
    xhttp.open("GET", urlxml, true);
    console.log(urlxml);
    xhttp.send();

    console.log(urlxml);

    for (let i = 0; i < data.elements.length; i++) {
      let pos;
      let marker;
      const e = data.elements[i];

      if (e.id in this._ids) {
        continue;
      }

      this._ids[e.id] = true;

      if (e.type === "way") {
        let posWay = [];
        for (let j = 0; j < e.geometry.length; j++) {
          pos = L.latLng(e.geometry[j].lat, e.geometry[j].lon);
          posWay.push(pos);
        }
        var polyline = L.polyline(posWay, { color: "blue" }).addTo(map);
      }

      console.log("DATA: " + JSON.stringify(data.elements));
    }
  },
});

如何仅从当前视图中获取结果?

谢谢。

openstreetmap react-leaflet overpass-api
© www.soinside.com 2019 - 2024. All rights reserved.