西班牙巴塞罗那的 OSM 数据

OSM Data on Barcelona, Spain

我们在 Android 上使用 osmbonuspack 的 API 从巴塞罗那的地址获取地理坐标。我们正在调用 org.osmdroid.bonuspack.location.GeocoderNominatim class 和方法 getFromLocationName()

当我们搜索地址 Desemparats 18 时,returns 没有结果。但是如果我们搜索 Desemparats 那么我们会得到 1 个结果。来自 JSON 响应:

{  
    "place_id":"9805611",
    "licence":"Data © OpenStreetMap contributors, ODbL 1.0. http:\/\/www.openstreetmap.org\/copyright",
    "osm_type":"node",
    "osm_id":"961073607",
    "boundingbox":[  
        "41.3705229",
        "41.3706229",
        "2.1225643",
        "2.1226643"
    ],
    "lat":"41.3705729",
    "lon":"2.1226143",
    "display_name":"Mare de Déu dels Desemparats, Carrer Mossèn Jaume Busquets, la Torrassa, l'Hospitalet de Llobregat, BCN, Catalonia, 08094, Spain",
    "class":"amenity",
    "type":"place_of_worship",
    "importance":0.101,
    "icon":"http:\/\/nominatim.openstreetmap.org\/images\/mapicons\/place_of_worship_unknown3.p.20.png",
    "address":{  
        "place_of_worship":"Mare de Déu dels Desemparats",
        "pedestrian":"Carrer Mossèn Jaume Busquets",
        "suburb":"la Torrassa",
        "town":"l'Hospitalet de Llobregat",
        "county":"BCN",
        "state":"Catalonia",
        "postcode":"08094",
        "country":"Spain",
        "country_code":"es"
    }
}

该服务似乎没有此地址的街道地址数据,因此它只给出了街道上的一个随机点。 Desemparats 18 没有返回结果的原因是因为它试图将 18 与 post 代码匹配。

我们可以做些什么来获得更准确的回复吗?即,能够搜索带有 street/house 号码的地址吗?

或者问MapQuest,巴塞罗那的数据真的不够丰富吗?因为这个地址真的不偏远

任何人的任何想法和经验将不胜感激。

确实OSM在this area. There is not much you can do about it except from improving it yourself中只有很少的地址。您可以使用第二个地理编码服务作为备用,以防首选地理编码器无法return 有效结果。