Скажем, у меня есть заголовок статьи в Википедии, например, Филадельфия, и я хочу координаты этого места. Я не хочу получать это из Википедии, потому что, похоже, мне придется получить всю статью. И я не хочу просто свободно запрашивать у GeoNames такие места, как «Филадельфия», потому что это будет иметь много результатов, и я знаю, что мне нужны координаты конкретной статьи Википедии [[Филадельфия]].
Похоже, что API GeoNames позволяет вам делать это с классом WikipediaArticle и его методами, такими как setTitle () и getLatitude (). Но я возился с этим классом и WebService и не смог получить координаты таким образом. Я не буду утомлять вас всеми комбинациями, которые я пробовал, но я не могу найти пример того, как это сделать. Что-то вроде:
WebService.setUserName("whateveritis");
List<WikipediaArticle> wikiResults = WebService.wikipediaSearchForTitle(
"Philadelphia","en");
for (WikipediaArticle r : wikiResults) {
System.out.println(r.getLatitude());
}
Это дает много ошибок, которыми я могу поделиться, но заставляет меня думать, что я просто использую это неправильно. Или, может быть:
WikipediaArticle myPlace = new WikipediaArticle();
myPlace.setTitle("Philadelphia");
Double lat = myPlace.getLatitude();
Возвращает 0.0. Кто-нибудь знаком с API и может сказать мне, где я иду не так? Я думаю, что это предназначено для таких вещей, потому что веб-версия делает это: http://api.geonames.org/wikipediaSearch?title=Philadelphia&maxRows=1&username=demo