osmdroid是一个开源的Android地图库,可以加载在线地图。下面是加载在线地图的步骤:

  1. 在项目的build.gradle文件中添加osmdroid依赖:
implementation 'org.osmdroid:osmdroid-android:6.1.10'
  1. 在AndroidManifest.xml文件中添加以下权限:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
  1. 在布局文件中添加MapView控件:
<org.osmdroid.views.MapView
    android:id="@+id/mapview"
    android:layout_width="match_parent"
    android:layout_height="match_parent" />
  1. 在Activity中加载地图:
import org.osmdroid.config.Configuration;
import org.osmdroid.tileprovider.tilesource.TileSourceFactory;
import org.osmdroid.views.MapView;

public class MainActivity extends AppCompatActivity {
    private MapView mapView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        // 设置osmdroid的缓存路径
        Configuration.getInstance().setUserAgentValue(getPackageName());
        Configuration.getInstance().setOsmdroidTileCache(getExternalFilesDir(null));

        mapView = findViewById(R.id.mapview);
        mapView.setTileSource(TileSourceFactory.MAPNIK); // 设置地图源为Mapnik
        mapView.setMultiTouchControls(true); // 开启多点触控

        // 设置地图的初始显示位置
        IMapController mapController = mapView.getController();
        mapController.setZoom(12.0);
        GeoPoint startPoint = new GeoPoint(40.7128, -74.0060); // 纬度和经度
        mapController.setCenter(startPoint);
    }

    @Override
    protected void onResume() {
        super.onResume();
        mapView.onResume();
    }

    @Override
    protected void onPause() {
        super.onPause();
        mapView.onPause();
    }
}

这样就可以在应用中加载在线地图了。你可以根据需要选择不同的地图源,例如Mapnik、MapQuest等

osmdroid 加载在线地图

原文地址: https://www.cveoy.top/t/topic/hOwY 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录