Как получить некоторые автобусные станции рядом с моим местоположением, используя osmdroid NominatimPOIProvider - PullRequest
1 голос
/ 19 мая 2019

Я пытаюсь получить немного Bus_station близко к своему местоположению, используя osmdroid NominatimPOIProvider, но я получаю следующее NullException:

java.lang.IllegalArgumentException: юг должен бытьв [-85.05112877980658,85.05112877980658] по адресу org.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: FATAL EXCEPTION: main Process: com.example.xibomba, PID: 6617 java.lang.IllegalStateException: Не удалось выполнить метод для android: onClick в android.support.v7.app.AppCompatViewInflater $ DeclaredOnClickListener.onClick (AppCompatViewInflater.java:390) в android.executeClick (View.java:4754) в android.view.View $ PerformClick.run (View.java:19605) в android.os.Handler.handleCallback (Handler.java:733) в android.os.Handler.dispatchMessage (Обработчик.java: 95) на android.os.Looper.loop (Looper.java:146) на android.app.ActivityThread.main (ActivityThread.java:5752) на java.lang.reflect.Method.invokeNative (собственный метод) на java.lang.reflect.Method.invoke (Method.java:515) в com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:1291) в com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1107) в dalvik.system.NativeStart.main (собственный метод) Вызывается: java.lang.reflect.InvocationTargetException at java.lang.reflect.Method.invokeNative (собственный метод) в java.lang.reflect.Method.invoke (Method.java:515) вandroid.support.v7.app.AppCompatViewInflater $ DeclaredOnClickListener.onClick (AppCompatViewInflater.java:385) в android.view.View.performClick (View.java:4754) в android.view.View $ PerformClick.run (View.java:19605) на android.os.Handler.handleCallback (Handler.java:733) на android.os.Handler.dispatchMessage (Handler.java:95) на android.os.Looper.loop (Looper.java:146) на android.app.ActivityThread.main (ActivityThread.java:5752) в java.lang.reflect.Method.invokeNative (собственный метод) в java.lang.reflect.Method.invoke (Method.java:515) в com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:1291) в com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1107) в dalvik.system.NativeStart.main (родной метод). Вызывается:.osmdroid.util.BoundingBox.set (BoundingBox.java:69) в org.osmdroid.util.BoundingBox. (BoundingBox.java:43) в org.osmdroid.bonuspack.location.NominatimPOIProvider.getUrlr.loseTo (Nominatimjav):в org.osmdroid.bonuspack.location.NominatimPOIProvider.getPOICloseTo (NominatimPOIProvider.java:132) в com.example.xibomba.MapaActivity.poinOfInt (MapaActivity.java:193) в java.lang.nofв java.lang.reflect.Method.invoke (Method.java:515) в android.support.v7.app.AppCompatViewInflater $ DeclaredOnClickListener.onClick (AppCompatViewInflater.java:385)на android.view.View.performClick (View.java:4754) на android.view.View $ PerformClick.run (View.java:19605) на android.os.Handler.handleCallback (Handler.java:733) на android.os.Handler.dispatchMessage (Handler.java:95) на android.os.Looper.loop (Looper.java:146) на android.app.ActivityThread.main (ActivityThread.java:5752) на java.lang.reflect.Method.invokeNative (родной метод) в java.lang.reflect.Method.invoke (Method.java:515) в com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:1291) в com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1107) в dalvik.system.NativeStart.main (собственный метод)

Ответы [ 2 ]

1 голос
/ 19 мая 2019

Последний аргумент для метода poiProvider.getPOICloseTo должен быть в градусах (Документация гласит: "maxDistance to position, в градусах. Обратите внимание, что он используется для построения ограничивающего прямоугольника вокруг позиции, а не круга". ). Вы прошли 100, что является довольно высоким значением для градусов, поэтому, возможно, вы предположили, что это километры или метры. Попробуйте меньшее значение, например, 0.1, 0.2 или что-то подобное , как в примерах .

0 голосов
/ 17 июня 2019

Укажите код, устанавливающий геопункт bus_stop.

(Кстати, при поиске "шоссе" автобусные остановки не будут получены)

...