android - 根据 OSMDroid 的一组位置确定合适的缩放级别

标签 android osmdroid

从 Google Maps Android API v2 中,我了解到这可以通过以下方法完成:

LatLngBounds.Builder builder = new LatLngBounds.Builder();
for (Location loc : allLocations) {
    LatLng position = new LatLng(loc.getLatitude(), loc.getLongitude());
    builder.include(position);
}

CameraUpdate cu = CameraUpdateFactory.newLatLngBounds(builder.build(), someMarginValue);
map.moveCamera(cu);

但是我似乎找不到为 OSMDroid 执行此操作的方法。是否有解决方案/类可以帮助根据一组位置确定缩放级别?

最佳答案

这对我来说效果很好:

    ArrayList<GeoPoint> waypoints = new ArrayList<GeoPoint>();
    waypoints.add(new GeoPoint(35.37, -119.01));
    waypoints.add(new GeoPoint(35.35, -119.01));
    waypoints.add(new GeoPoint(35.11, -118.32));
    waypoints.add(new GeoPoint(35.10, -118.32));
    waypoints.add(new GeoPoint(35.10, -118.15));
    waypoints.add(new GeoPoint(35.09, -118.14));
    waypoints.add(new GeoPoint(35.63, -117.88));
    waypoints.add(new GeoPoint(35.65, -117.72));
    waypoints.add(new GeoPoint(35.62, -117.67));

    final BoundingBoxE6 boundingBoxE6 = BoundingBoxE6.fromGeoPoints(waypoints);
    mMapView.zoomToBoundingBox(boundingBoxE6,true);

关于android - 根据 OSMDroid 的一组位置确定合适的缩放级别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14629445/

相关文章:

android - 如何将 zip map 文件复制到/sdcard/osmdroid/(内部存储)

android - osmdroid ItemizedOverlay 错误 : The method boundCenterBottom(Drawable) is undefined for the type

java - 通过 OSMDroid 使用在线存储中的 MBTiles

android - Webview 无法在 android 中加载 https url?

android - 如果 py.test 测试失败则执行代码

java - 如何为更多不同的构建进行应用程序设计?

java - 编解码器参数不正确,无法写入输出文件 : FFMPEG - Android 的 header

同一应用程序中的 Android Content Provider

java - 添加自定义控件作为标记 OSMDROID BONUS PACK

android - 是否可以将缩放控件移动到 OSMdroid 屏幕上的不同位置