要在 Android 设备上运行 Leaflet,您必须执行以下步骤。
-
安装 Java。 开发套件 (JDK):访问 https://www.oracle.com/java/technologies/javase-jdk14-downloads.html 在您的 Android 设备上下载并安装适当的 JDK 版本。
-
安装 Android Studio:访问 https://developer.android.com/studio 下载 Android Studio 并安装。 这是官方的Android开发环境,包括必要的开发工具和库。
-
创建新的 Android 项目:打开 Android Studio,单击“启动新的 Android Studio 项目”,然后按照向导进行创建。 新项目。 选择空活动模板并单击下一步。 输入您的应用程序名称、公司域、项目位置,然后单击完成。
-
为 Leaflet 添加依赖项:将以下依赖项添加到项目的
build.gradle
文件中:添加。
依赖项{
实现'组织.apache.leaflet:leaflet-android:1.7.1'
}
-
同步 Gradle:单击 Android Studio 工具栏上的“将项目与 Gradle 文件同步”按钮,将新添加的依赖项同步到您的项目。
-
将地图添加到布局文件中。 将
添加到
控件:activity_main.xml
文件中。 MapView
< com.mapbox.geojson.FeatureCollection
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”
工具:上下文=".MainActivity">
<com.mapbox.geojson.Point
android:id="@+id/point"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:clickable="true"
android:background="?android:attr/selectableItemBackgroundBorderless"
android:padding="12dp"
android:scaleType="centerCrop"
android:src="@drawable/ic_launcher_background" />
<org.osmdroid.widget.MapView
android:id="@+id/mapView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:clickable="true"
android:background="#00000000" />
</com.mapbox.geojson.FeatureCollection>
- 在
MainActivity.java
文件中,初始化地图并设置中心点和缩放级别。
导入 androidx.appcompat.app.AppCompatActivity;
导入android。os.Bundle;
导入 android.view.View;
导入 android.widget。 Toast;
导入 com.mapbox.geojson.FeatureCollection;
导入 com .mapbox.geojson.Point;
导入 com.mapbox.maps.extension.style.layers. generated.symbolLayer;
导入 com.mapbox.maps.extension.style.sources. generated.geoJsonSource;
导入 com.mapbox.maps.extension .style.style;
导入 com.mapbox.maps.plugin.annotation. generated.createPointAnnotationOptions;
导入 com.mapbox.maps.plugin.annotation. generated.createPoin。tAnnotationManager;
公共 类 MainActivity 扩展 AppCompatActivity {
私有 MapView mapView;
@Override
受保护 void onCreate(捆绑 SavedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mapView = findViewById(R.id. mapView);
mapView.onCreate(savedInstance)eState);
mapView.getMapAsync(new OnMapReadyCallback() {
@Override
公共 void onMapReady(@NonNull MapboxMap mapboxMap) {
mapboxMap.addOnMapClickListener(new MapboxMap.OnMapClickListener() {
@Override
公共 布尔 onMapClick(@NonNull LatLng 点) {
Toast.makeText(MainActivity.this, "点击的地图:" + point.getLatitude() + ", " + point.getLongitude(), Toast.LENGTH_SHORT).show();
返回 true;
}
});
//向地图添加符号图层
symbolLayer symbolLayer =symbolLayer from("源 ID")
.withProperties(
property("图标图像", "icon-name")
);
// 添加geoJSON源到地图
geoJsonSource geoJsonSource = geoJsonSource。 ("https://api.example.com/geojson");
//设置初始地图样式
mapboxMap.loadStyle(style(styleUri = Style.MAPBOX_STREETS));
// 添加符号图层和geoJSON源到地图
mapboxMap.addLayer(symbolLayer);
mapboxMap.addSource(geoJsonSource);
// 创建点注释并添加到地图
点 点 = Point.fromLngLat(12.971598, 77.594566);
createPointAnnotationOptions 选项 = createPointAnnotationOptions().withPosition(point).withIconImage("图标名称"););
createPointAnnotationManager(mapboxMap).create(options);
}
});
}
@Override
受保护 void onResume() {
超级.onResume();
mapView. onResume();
}
@Override
受保护 void onPause() {
超级.onPause();
mapView.onPause();
}
@Override
受保护 无效 onDestroy() {
超级.onDestroy();
mapView.onDestroy();
}
@Override
受保护 void onSaveInstanceState( {
捆绑 outState)超级.onSaveInstanceState(outState);
mapView.onSaveInstanceState( outState);
}
}
- 运行应用程序:连接 Androidd 使用您的设备或 Android 模拟器,单击 Android Studio 工具栏上的运行按钮来运行应用程序。
您现在可以在 Android 设备上查看 Leaflet 地图并与之交互。 请注意,本示例使用 Mapbox 地图样式,但您可以根据需要将其替换为其他地图样式或自定义样式。
以上内容来自互联网,不代表本站全部观点。 欢迎关注:zhujipindao.com
评论前必须登录!
注册