如何使用osmdroid nominatimpoiprovider将一些BUS_STATITS靠近我的位置



我正在尝试使用osmdroid NominatimPOIProvider接近我位置的Bus_station,但是我收到以下NullException

java.lang.illegalargumentException:南部必须在 [-85.05112877980658,85.05112877980658] atrg.osmdroid.util.boundingbox.set(boundingbox.java:69(。

我敢肯定,坐标不会在我的位置附近任何点

所以这是我实现逻辑

的方法
 public  void poinOfInt(View view){
     bus_stop = myLocationNewOverlay.getMyLocation();
       NominatimPOIProvider poiProvider = new NominatimPOIProvider( BuildConfig.APPLICATION_ID);
       ArrayList<POI> pois = poiProvider.getPOICloseTo(bus_stop, "highway", 50, 100);

      FolderOverlay poiMarkers = new FolderOverlay();
      map.getOverlays().add(poiMarkers);
      Drawable poiIcon = getResources().getDrawable(R.drawable.marker_default);
      for (POI poi:pois){
          Marker poiMarker = new Marker(map);
          poiMarker.setTitle(poi.mType);
          poiMarker.setSnippet(poi.mDescription);
          poiMarker.setPosition(poi.mLocation);
          poiMarker.setIcon(poiIcon);
         /* if (poi.mThumbnail != null){
            poiItem.setImage(new BitmapDrawable(poi.mThumbnail));
          }*/
         poiMarkers.add(poiMarker);
      }
    }

我收到以下错误:

e/androidruntime:致命例外:主要 过程:com.example.xibomba,pid:6617 java.lang.illegalstateException:无法执行Android的方法:OnClick at android.support.v7.app.appcompatviewinflater $ neclaredonClicklistener.onclick(appcompatviewinflater.java:390( at android.view.view.performClick(view.java:4754( at android.view.view $ persionclick.run(view.java:19605( 在Android.os.handler.handlecallback(Handler.java:733( 在Android.os.handler.dispatchMessage(Handler.java:95( at android.os.looper.loop(looper.java:146( at android.app.activitythread.main(activityThread.java:5752( 在java.lang.reflect.method.invokenative(本机方法( 在java.lang.reflect.method.invoke(method.java:515( 在com.android.internal.os.os.zygoteinit $ methodandargscaller.run(zygoteinit.java:1291( 在com.android.internal.os.os.zygoteinit.main(zygoteinit.java:1107( 在dalvik.system.nativestart.main(本机方法(上 引起:java.lang.reflect.invocationTargetException 在java.lang.reflect.method.invokenative(本机方法( 在java.lang.reflect.method.invoke(method.java:515( at android.support.v7.app.appcompatviewinflater $ neclaredonClicklistener.onclick(appcompatviewinflater.java:385( at android.view.view.performClick(view.java:4754( at android.view.view $ persionclick.run(view.java:19605( 在Android.os.handler.handlecallback(Handler.java:733( 在Android.os.handler.dispatchMessage(Handler.java:95( at android.os.looper.loop(looper.java:146( at android.app.activitythread.main(activityThread.java:5752( 在java.lang.reflect.method.invokenative(本机方法( 在java.lang.reflect.method.invoke(method.java:515( 在com.android.internal.os.os.zygoteinit $ methodandargscaller.run(zygoteinit.java:1291( 在com.android.internal.os.os.zygoteinit.main(zygoteinit.java:1107( 在dalvik.system.nativestart.main(本机方法(上 引起的:java.lang.illegalargumentException:南部必须在[-85.05112877980658,85.05112877980658]中 atrg.osmdroid.util.boundingbox.set(boundingbox.java:69( 请访问org.osmdroid.util.boundingbox。(boundingbox.java:43( atrg.osmdroid.benuspack.location.nominatimpoiprovider.geturlcloseto(nominatimpoiprovider.java:73( atrg.osmdroid.benuspack.location.nominatimpoiprovider.getpoicloseto(nominatimpoiprovider.java:132( 在com.example.xibomba.mapaactivity.poinofint(mapaactivity.java:193( 在java.lang.reflect.method.invokenative(本机方法( 在java.lang.reflect.method.invoke(method.java:515( at android.support.v7.app.appcompatviewinflater $ neclaredonClicklistener.onclick(appcompatviewinflater.java:385( at android.view.view.performClick(view.java:4754( at android.view.view $ persionclick.run(view.java:19605( 在Android.os.handler.handlecallback(Handler.java:733( 在Android.os.handler.dispatchMessage(Handler.java:95( at android.os.looper.loop(looper.java:146( at android.app.activitythread.main(activityThread.java:5752( 在java.lang.reflect.method.invokenative(本机方法( 在java.lang.reflect.method.invoke(method.java:515( 在com.android.internal.os.os.zygoteinit $ methodandargscaller.run(zygoteinit.java:1291( 在com.android.internal.os.os.zygoteinit.main(zygoteinit.java:1107( 在dalvik.system.nativestart.main(本机方法(

poiProvider.getPOICloseTo方法的最后一个参数应该是学位(文档说:"最大程度地限制了位置的最大程度。请注意,它用于围绕该位置构建一个边界,不是一个圆。"(。您通过了100,该学位的价值很高,因此也许您认为那是公里或米。尝试较小的值,例如0.10.2或与示例类似的东西。

提供代码设置BUS_STOP地理点。

(顺便说一句,搜索"高速公路"将无法获得公共汽车站(

相关内容

最新更新