Osmdroid入门(2.1)MapView

                                    2.1 MapView 

1.类概述

当前类存在于包“org.osmdroid.views”内,名称为“MapView”,是osmdroid的主要视图。主要构成如下:

其中用1-4的符号标识出了博主常用的方法,1为最常用。

2.地图的创建

博主项目中全部为单地图案例,所以地图的布局一般都是在xml文件中定义好了的。关于地图的简单创建如下:

activity_main.xml:

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    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/osmv"
        android:layout_width="match_parent"
        android:layout_height="match_parent"></org.osmdroid.views.MapView>

</androidx.constraintlayout.widget.ConstraintLayout>

MainActivity:

public class MainActivity extends AppCompatActivity {

    MapView osmv=null;

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

        osmv=(MapView) findViewById(R.id.osmv);
 

    }

简单的地图创建如上,效果如下,无底图源所谓只能看见网格,然后未禁用自带的缩放控件致使底部会有两个按钮遮挡:

3.地图的设置

此处介绍进入地图创建后通过代码对其进行一些常规性质的设置:

        //不显示放大缩小控件
        osmv.setBuiltInZoomControls(false);

        //可以多点触控(不设置的话地图不可通过手指的手势进行放大、缩小)
        map.setMultiTouchControls(true);


        //最大缩放等级
        map.setMaxZoomLevel(19);


        //最小缩放等级
        map.setMinZoomLevel(5);

       //创建指南针控件(图层)
        CompassOverlay co= new CompassOverlay(context, new InternalCompassOrientationProvider(context), map); 
      map.getOverlays().add(mCompassOverlay); //添加进入地图

        //设置地图在水平和垂直方向上是否重复平铺展示
        mapView.setVerticalMapRepetitionEnabled(false); 
        mapView.setHorizontalMapRepetitionEnabled(false);

        //设置地图的底图数据(后面部分讲解具体创建步骤)
       mapView.setTileProvider(mProvider);

        /缩放到当前底图范围
        mapView.zoomToBoundingBox(maxBox,true);

4.地图的使用

不知道需要写一些什么内容,等大家有使用需求再进行此部分的更新。

发布了16 篇原创文章 · 获赞 2 · 访问量 3500

猜你喜欢

转载自blog.csdn.net/weixin_41012454/article/details/104320387
2.1
今日推荐