У меня есть список из 2000 таких адресов:
Macquarie Park, New South Wales
Kitami, Hokkaido
Hachioji, Tokyo
Pokemon Inc. Asahi Bldg. 7F 3-2-6 Asakusabashi Taito-ku, Tokyo 111-0053 Japan
東京都港区
И я хочу отобразить их на карте без пересылки этих адресов через интернет .
Геокодирование адресов:
Выходной формат:
.osm
// вывод файла в порядке .obf
..kml
Требования:
Это стало возможным благодаря OpenStreetMap API , лицензированному под ODbL .
Я не использовал его какое-то время, но в основном вы определяете прямоугольник ( bbox
, ограничивающий прямоугольник) из двух точек (S, N, W и E). Поскольку максимальная площадь ограничивающей рамки ограничена, вам нужно будет повторить запрос для небольших частей мира (где обычно подходят области размером с Германию).
Затем вы определяете условия того, что вы хотите получить. Для городов place=city
было бы такое условие. К сожалению, классификация городов может зависеть от страны, поэтому вам нужно прочитать документацию и выяснить это.
Пример API-запроса для городов Германии (примерно, так как прямоугольный):
http://www.overpass-api.de/api/xapi?node[bbox=5.87,47.27,15.04,55.12][place=city]
Результат довольно мал (155 КБ) и содержит актуальную информацию:
<node id="17193023" lat="49.5981208" lon="11.0036532">
<tag k="ele" v="279"/>
<tag k="is_in" v="Mittelfranken,Bayern,Bundesrepublik Deutschland,Europe"/>
<tag k="is_in:country" v="Germany"/>
<tag k="is_in:country_code" v="DE"/>
...
<tag k="name" v="Erlangen"/>
<tag k="name:ta" v="எர்லங்கன்"/>
...
<tag k="place" v="city"/>
<tag k="population" v="105624"/>
...
</node>
Это ответ, потому что:
name:ta
lon
и lat
)Мне жаль, что этот ответ все еще нуждается в специальном программировании, но, учитывая возраст вопроса и отсутствие ответов, я предполагаю, что ваш запрос очень специфичен, и его можно решить только так.
Охотник на оленей
Охотник на оленей
Николя Рауль
Николя Рауль