查找某个地区所有医院的立交桥查询是什么?

What is the overpass query to find all the hospitals in a region?

我只想在给定的 LatLog 中标记所有医院。我试了很多。但是找不到我的错误。

var lat = 12.933;
var lon = 77.612;
var zoom = 13;
var map;

function init() {
  map = new OpenLayers.Map("demoMap", {
    controls: [
      new OpenLayers.Control.Navigation(),
      new OpenLayers.Control.PanZoomBar(),
      new OpenLayers.Control.LayerSwitcher(),
      new OpenLayers.Control.Attribution()
    ],
    maxExtent: new OpenLayers.Bounds(-20037508.34, -20037508.34, 20037508.34, 20037508.34),
    maxResolution: 156543.0399,
    numZoomLevels: 19,
    units: 'm',
    projection: new OpenLayers.Projection("EPSG:900913"),
    displayProjection: new OpenLayers.Projection("EPSG:4326")
  });

  layerMapnik = new OpenLayers.Layer.OSM.Mapnik("Mapnik");
  map.addLayer(layerMapnik);

  var lonLat = new OpenLayers.LonLat(lon, lat)
    .transform(new OpenLayers.Projection("EPSG:4326"), new OpenLayers.Projection("EPSG:900913"));

  map.setCenter(lonLat, zoom);

  map.addLayers([
    make_layer("http://overpass-api.de/api/interpreter?data=node[amenity=hospital];out+skel;", "red")
  ]);
}

没有显示任何结果。这是因为查询错误还是其他问题?

您忘记了 (bbox) 将您的数据限制在当前边界框内。当您查询整个星球的数据时,查询很可能会因超时或内存不足而终止。

有关如何添加 (bbox) 的一些示例,请参阅此 link:http://overpass-api.de/open_layers_mashup.html

在您自己的代码中嵌入任何 Overpass 查询之前,请务必先 运行 通过 http://overpass-turbo.eu/。语法可能略有不同,但它有助于在不预先进行任何编码的情况下评估结果。