zoukankan      html  css  js  c++  java
  • MapView

    Android 使用百度地图API

      百度地图是最常用的地图类API,以百度地图为例加载地图类控件.

    1.百度地图官网下载 开发包 http://lbsyun.baidu.com/

      (1) 注册百度账号 

      (2) 创建app应用,获取包名 sha1 值

      Android studio 快速获取sha1 值

      在右侧点击Gradle project 选择如下图所示

    在控制台查看

    2.导入jar包   可参考官方文档  http://lbsyun.baidu.com/index.php?title=androidsdk/guide/create-project/androidstudio

      核心类: MapView 展示地图  通过getMap()方法获取地图控制器

          BaiduMap 控制地图,操作地图的类

          SDKInitializer 初始化地图

    常用覆盖物: 1.TextOptions 文本覆盖物

          2.PolygonOptions 多边形覆盖物

          3.MarkerOptions 标记覆盖物

          4.infoWindow  窗口视图

    POI检索:

       1. BaiduMapPoiSearch poi检索 

       2.PoiParaOption 检索参数类 key radius LatLng 等

    线路规划:

        1.BaiduMapRoutePlan  线路规划

        2.RouteParaOption  线路检索参数

    定位 核心类

        1.LocationClient  地位客户端

        2.LocationClientOption 定位参数

        3.BDLocationListener  定位的回调接口

        4.BDLocation: 回调数据

    导航功能:

        1.配置工程

        2.核心类库

          (1) BaiduNaviManager  导航线路规划管理器

          (2) BNRountGuideManager  导航过程管理类

    3.在AndroidManifest中添加开发密钥、所需权限等信息  参考 http://lbsyun.baidu.com/index.php?title=androidsdk/guide/create-project/hellomap

    demo;

    效果展示

    初始化SDK:

    在Java目录中创建一个新的类继承 Application 并重写 oncreat方法

    package com.example.baudu;
    
    import android.app.Application;
    
    import com.baidu.mapapi.SDKInitializer;
    
    /**
     * 初始化百度地图,在应用创建时执行create方法
     */
    
    public class BaiduApplication extends Application {
        @Override
        public void onCreate() {
            super.onCreate();
            SDKInitializer.initialize(getApplicationContext());
        }
    }

    xml布局文件: 使用MapView控件

    <?xml version="1.0" encoding="utf-8"?>
    <RelativeLayout
        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">
    
        <com.baidu.mapapi.map.MapView
            android:id="@+id/mapView"
            android:layout_width="match_parent"
            android:layout_height="match_parent">
    
        </com.baidu.mapapi.map.MapView>
    
    </RelativeLayout>

    创建地图activity 管理生命周期

    package com.example.baudu;
    
    import android.support.v7.app.AppCompatActivity;
    import android.os.Bundle;
    
    import com.baidu.mapapi.map.BaiduMap;
    import com.baidu.mapapi.map.MapView;
    
    public class MainActivity extends AppCompatActivity {
    
        MapView mapView;
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            mapView = findViewById(R.id.mapView);
            BaiduMap baiduMap = mapView.getMap();
        }
    
        @Override
        protected void onResume() {
            super.onResume();
            mapView.onResume();
        }
    
        @Override
        protected void onPause() {
            super.onPause();
            mapView.onPause();
        }
    
        @Override
        protected void onDestroy() {
            super.onDestroy();
            mapView.onDestroy();
        }
    }
  • 相关阅读:
    url 和 php变量传值的关系
    PHpstudy 怎么也启动不了?
    坚决不要360的全盘扫描
    用户邮件可以翻译的-drupal
    drupal网站被黑
    firefox加载不来
    转-潭的感悟
    register globals php
    $GLOBALS -- 变量
    array_merge AaCc
  • 原文地址:https://www.cnblogs.com/conglingkaishi/p/9577836.html
Copyright © 2011-2022 走看看