0

假设我有一篇维基百科文章的标题,例如费城,我想要那个地方的坐标。我不想从 Wikipedia 获得这个,因为看起来我必须检索整篇文章。而且我不想只是松散地查询 GeoNames 以查找“像费城这样的地方”,因为这会产生很多结果,而且我知道我想要特定的 Wikipedia 文章 [[Philadelphia]] 的坐标。

GeoNames API 似乎允许您使用类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

4

1 回答 1

0

第一种方法,使用 WebService.wikipediaSearchForTitle,是执行此操作的方法,但您必须在类路径中正确设置 jdom——我以为我有,但没有。但是,请注意,该函数返回标题中包含“Philadelphia”的任何文章,而不仅仅是 Phildelphia。因此,即使在工作时,该功能也不能完全满足我的需求。

于 2012-02-14T00:50:35.780 回答