部署看这个:Android 利用OSMdroid开发GIS-CSDN博客
直接上代码
activity_main.xml:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<org.osmdroid.views.MapView
android:id="@+id/mapView"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:layout_alignParentTop="true"
android:orientation="vertical">
<Button
android:id="@+id/btnMarker"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="标记点" />
<Button
android:id="@+id/btnLine"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="线" />
<Button
android:id="@+id/btnPolygon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="面" />
<Button
android:id="@+id/btnWord"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="文字" />
</LinearLayout>
</RelativeLayout>
MainActivity.java:
package com.chy.osmdroid;
import androidx.appcompat.app.AppCompatActivity;
import android.Manifest;
import android.graphics.Color;
import android.graphics.Paint;
import android.os.Bundle;
import android.text.TextPaint;
import android.view.MotionEvent;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;
import com.chy.custom.TextOverlay;
import com.chy.layers.LayerTileSources;
import com.chy.permission.PermissionUtils;
import org.osmdroid.api.IMapController;
import org.osmdroid.tileprovider.MapTileProviderBasic;
import org.osmdroid.util.GeoPoint;
import org.osmdroid.views.CustomZoomButtonsController;
import org.osmdroid.views.MapView;
import org.osmdroid.views.overlay.Marker;
import org.osmdroid.views.overlay.Overlay;
import org.osmdroid.views.overlay.OverlayManager;
import org.osm