【发布时间】:2020-04-07 16:24:13
【问题描述】:
在我的应用程序中,我将 Leaflet 与 OpenStreetMap 一起使用。我还使用 Nominatim 来获取地点详细信息。我想看看这个地方是不是加油站。 但是,当我指向加油站并获取地点详细信息时,JSON 文件通常具有不同的“类型”属性。 可以是:
type: "fuel" <-- this is great
or
type: "convenience"
or
type: "yes"
or maybe even other
我能否以某种方式指定该地点是否真的是加油站?
加油站的 JSON 输出示例 https://nominatim.openstreetmap.org/reverse?format=jsonv2&lat=50.0487556&lon=21.999057381458194
place_id: 143194204, licence: "Data © OpenStreetMap contributors, ODbL 1.0. https://osm.org/copyright", osm_type: "way", osm_id: 230603036, lat: "50.0487556", …}
place_id: 143194204
licence: "Data © OpenStreetMap contributors, ODbL 1.0. https://osm.org/copyright"
osm_type: "way"
osm_id: 230603036
lat: "50.0487556"
lon: "21.999057381458194"
place_rank: 30
category: "shop"
type: "convenience"
importance: 0
addresstype: "shop"
name: "Orlen"
display_name: "Orlen, 10, Warszawska, 1000-Lecia, Rzeszów, województwo podkarpackie, 35-205, Polska"
address: {convenience: "Orlen", house_number: "10", road: "Warszawska", suburb: "1000-Lecia", city: "Rzeszów", …}
boundingbox: (4) ["50.0486885", "50.0488243", "21.9989449", "21.9991699"]
__proto__: Object
我考虑过将 Google Places API 与 Geocoding API 一起使用,但 Geocoding 需要计费帐户,所以我不会使用它。
编辑:
感谢下面的评论,我设法通过使用来自 nominatim 反向地理编码调用的 osm_id 从 OSM 获取原始数据。只需使用:
http://overpass-api.de/api/interpreter?data=[out:json];way(MY_OSM_ID);out;
【问题讨论】:
-
嗨,欢迎来到 StackOverflow。不完全清楚你在这里问什么?如果您问:“您是否有一个数据库,其中包含有关某个位置是否是加油站的信息”?如果是这样,那么我认为 StackOverflow 不是问的正确地方。考虑参观 (stackoverflow.com/tour) 了解更多关于这里通常提出和回答的问题类型。
-
也许有一种方法可以获得更详细的地点描述,带有更多标签,或者我可以使用不同的 API 来获取地点详细信息?
标签: javascript leaflet openstreetmap reverse-geocoding nominatim