带有 Nominatim 的 OpenStreetMap POI - 错误 [英] OpenStreetMap POIs with Nominatim - error

查看:57
本文介绍了带有 Nominatim 的 OpenStreetMap POI - 错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用本教程:https://github.com/MKergall/osmbonuspack/wiki/教程_2

我在我的项目中设置了这个代码:

I set this Code in my Project:

NominatimPOIProvider poiProvider = new NominatimPOIProvider();
ArrayList<POI> pois = poiProvider.getPOICloseTo(startPoint, "cinema", 50, 0.1);

但是我遇到了一些错误:
NominatimPOIProvider中的NominatimPOIProvider(String)不能应用于()

But I get some Errors:
NominatimPOIProvider (String) in NominatimPOIProvider cannot be applied to ()

java.lang.NoClassDefFoundError:解析失败:Lokhttp3/Request$Builder;在 org.osmdroid.bonuspack.utils.HttpConnection.doGet(HttpConnection.java:65)在 org.osmdroid.bonuspack.utils.BonusPackHelper.requestStringFromUrl(BonusPackHelper.java:70)在 org.osmdroid.bonuspack.location.NominatimPOIProvider.getThem(NominatimPOIProvider.java:83)在 org.osmdroid.bonuspack.location.NominatimPOIProvider.getPOICloseTo(NominatimPOIProvider.java:133)在 x.x.UserArea.onCreate(UserArea.java:152)在 android.app.Activity.performCreate(Activity.java:6876)在 android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1135)在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3207)在 android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3350)在 android.app.ActivityThread.access$1100(ActivityThread.java:222)在 android.app.ActivityThread$H.handleMessage(ActivityThread.java:1795)在 android.os.Handler.dispatchMessage(Handler.java:102)在 android.os.Looper.loop(Looper.java:158)在 android.app.ActivityThread.main(ActivityThread.java:7229)在 java.lang.reflect.Method.invoke(Native Method)在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)引起:java.lang.ClassNotFoundException:没有找到类okhttp3.Request$Builder"

java.lang.NoClassDefFoundError: Failed resolution of: Lokhttp3/Request$Builder; at org.osmdroid.bonuspack.utils.HttpConnection.doGet(HttpConnection.java:65) at org.osmdroid.bonuspack.utils.BonusPackHelper.requestStringFromUrl(BonusPackHelper.java:70) at org.osmdroid.bonuspack.location.NominatimPOIProvider.getThem(NominatimPOIProvider.java:83) at org.osmdroid.bonuspack.location.NominatimPOIProvider.getPOICloseTo(NominatimPOIProvider.java:133) at x.x.UserArea.onCreate(UserArea.java:152) at android.app.Activity.performCreate(Activity.java:6876) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1135) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3207) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3350) at android.app.ActivityThread.access$1100(ActivityThread.java:222) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1795) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:158) at android.app.ActivityThread.main(ActivityThread.java:7229) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120) Caused by: java.lang.ClassNotFoundException: Didn't find class "okhttp3.Request$Builder"

推荐答案

错误:

NominatimPOIProvider 中的 NominatimPOIProvider(字符串)不能是应用于 ()

NominatimPOIProvider (String) in NominatimPOIProvider cannot be applied to ()

是由 NominatimPOIProvider 的非参数构造函数的缺失引起的.您需要指定将在发送给 Nominatim 服务提供商的标头中使用的用户代理.更多细节可以在这个问题openstreetmap 的使用政策.

is caused by an absence of nonparametric constructor for NominatimPOIProvider. You are required to specify user agent which will be used in headers sent to a Nominatim service provider. More details can be found in this issue and in usage policy of openstreetmap.

使用类似:

NominatimPOIProvider poiProvider = new NominatimPOIProvider("YourUserAgentSpecificForYourApplicationOrWhatever");

这篇关于带有 Nominatim 的 OpenStreetMap POI - 错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆