2017-05-03 12 views
0

私のAndroidアプリケーションでは、私はosmdroidでルーティングとクラスタリングを使用していますが、latlngbounds.builderを使ってGoogleマップで行うようにLatLngをバインドできません。私はosmdroidと同じことをやりたいの例GoogleマップのLatLngBoundsと似ているosmdroidで緯度経度の境界を設定する

LatLng longlat = new LatLng(lat, log); 

LatLngBounds.Builder builder = new LatLngBounds.Builder(); 
builder.include(longlat); 

ため。

+0

あなたはosmdroidについて話していますか?少なくとも使用しているライブラリに言及してください。 – scai

+0

はい私はosmdroidについて話しています – srk

答えて

1

GoogleマップLatLngBoundsはosmdroid(多かれ少なかれ)のBoundingBoxになります。

LatLngBounds.includingメソッドと直接同等のものはありません(はい、これを実装するとよいでしょう)。

しかし、BoundingBox.fromGeoPointsは多くのニーズに対応しています。

0
{ 
IGeoPoint screenTopLeft = mapView.getProjection().fromPixels(0, 0); 
      IGeoPoint screenTopRight = mapView.getProjection().fromPixels(mapView.getWidth(), 0); 
      IGeoPoint screenBottomLeft = mapView.getProjection().fromPixels(0, mapView.getHeight()); 
      List<IGeoPoint> iGeoPoints = new ArrayList<>(); 
      iGeoPoints.add(screenTopRight); 
      iGeoPoints.add(screenTopLeft); 
      iGeoPoints.add(screenBottomLeft); 
      BoundingBox boundingBox = BoundingBox.fromGeoPoints(iGeoPoints); 
      if (boundingBox.contains(currentLocation.getLatitude(), currentLocation.getLongitude())) { 
       return true; 
      } else { 
       return false; 
      } 
     } 

これは、現在の場所が下にあるかどうかをチェックします。

関連する問題