MapBox for Android入门

以下是mapbox for android的教程: 1. 安装Mapbox SDK 在项目的build.gradle文件中添加以下依赖项: ```gradle implementation 'com.mapbox.mapboxsdk:mapbox-android-sdk:9.6.1' ``` 2. 在布局文件中添加MapView ```xml <com.mapbox.mapboxsdk.maps.MapView android:id="@+id/mapView" android:layout_width="match_parent" android:layout_height="match_parent" mapbox:mapbox_cameraTargetLat="40.73581" mapbox:mapbox_cameraTargetLng="-73.99155" mapbox:mapbox_cameraZoom="11"/> ``` 3. 在Activity中初始化MapView ```java public class MainActivity extends AppCompatActivity implements OnMapReadyCallback { private MapView mapView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); Mapbox.getInstance(this, "YOUR_MAPBOX_ACCESS_TOKEN"); setContentView(R.layout.activity_main); mapView = findViewById(R.id.mapView); mapView.onCreate(savedInstanceState); mapView.getMapAsync(this); } @Override public void onMapReady(@NonNull MapboxMap mapboxMap) { // 在这里可以对地图进行操作 } @Override protected void onStart() { super.onStart(); mapView.onStart(); } @Override protected void onResume() { super.onResume(); mapView.onResume(); } @Override protected void onPause() { super.onPause(); mapView.onPause(); } @Override protected void onStop() { super.onStop(); mapView.onStop(); } @Override protected void onSaveInstanceState(Bundle outState) { super.onSaveInstanceState(outState); mapView.onSaveInstanceState(outState); } @Override protected void onRestoreInstanceState(Bundle savedInstanceState) { super.onRestoreInstanceState(savedInstanceState); mapView.onRestoreInstanceState(savedInstanceState); } @Override protected void onDestroy() { super.onDestroy(); mapView.onDestroy(); } } ``` 4. 在Activity中对地图进行操作 ```java // 获取地图对象 MapboxMap mapboxMap = mapView.getMapAsync(this); // 移动地图到指定位置 CameraPosition position = new CameraPosition.Builder() .target(new LatLng(40.73581, -73.99155)) .zoom(11) .build(); mapboxMap.animateCamera(CameraUpdateFactory.newCameraPosition(position), 1000); // 添加标记 MarkerOptions markerOptions = new MarkerOptions() .position(new LatLng(40.73581, -73.99155)) .title("Marker Title") .snippet("Marker Description"); mapboxMap.addMarker(markerOptions); // 添加线 List<LatLng> points = new ArrayList<>(); points.add(new LatLng(40.73581, -73.99155)); points.add(new LatLng(40.748817, -73.985428)); LineOptions lineOptions = new LineOptions() .addAll(points) .color(Color.parseColor("#3bb2d0")) .width(2); mapboxMap.addPolyline(lineOptions); // 添加面 List<LatLng> polygonPoints = new ArrayList<>(); polygonPoints.add(new LatLng(40.73581, -73.99155)); polygonPoints.add(new LatLng(40.748817, -73.985428)); polygonPoints.add(new LatLng(40.718217, -73.998284)); polygonPoints.add(new LatLng(40.73581, -73.99155)); FillOptions fillOptions = new FillOptions() .addAll(polygonPoints) .alpha(0.4f) .fillColor(Color.parseColor("#3bb2d0")); mapboxMap.addPolygon(fillOptions); ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值