zoukankan      html  css  js  c++  java
  • 百度地图应用开发(一)

    最近对LBS比较感兴趣,在研究百度地图。先了解下百度地图的大概吧!

    http://dev.baidu.com/wiki/imap/index.php?title=Android%E5%B9%B3%E5%8F%B0/%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97

    以上是百度地图在android平台上的开发指南。

    基于百度地图的应用开发和google地图一样,需要一个Key,所以我们要申请一下,相对于google地图的Key来说,百度地图的Key的申请是很简单的。

    申请Key的网址: http://dev.baidu.com/wiki/static/imap/key/  当然要求是你必须得注册百度。

    在百度地图的应用开发中,在Manifest要添加如下权限:

    1. <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission>
    2. <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"></uses-permission>
    3. <uses-permission android:name="android.permission.INTERNET"></uses-permission>
    4. <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>
    5. <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"></uses-permission>
    6. <uses-permission android:name="android.permission.CHANGE_WIFI_STATE"></uses-permission>
    7. <uses-permission android:name="android.permission.READ_PHONE_STATE"></uses-permission>

      具体权限是什么大家可以查下文档,在这里就不多说了。另外还要加上android版本的支持,如下:

      1. <supports-screens android:largeScreens="true"
      2. android:normalScreens="true" android:smallScreens="true"
      3. android:resizeable="true" android:anyDensity="true"/>
      4. <uses-sdk android:minSdkVersion="3"></uses-sdk>

        当然还要导入支持百度地图开发的相关的包(指南上面有下载),以下是我的项目文件:

        main.xml

        <?xml version="1.0" encoding="utf-8"?>
        <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:orientation
        ="vertical"
        android:layout_width
        ="fill_parent"
        android:layout_height
        ="fill_parent"
        >
        <com.baidu.mapapi.MapView android:id="@+id/bmapsView"
        android:layout_width
        ="fill_parent" android:layout_height="fill_parent"
        android:clickable
        ="true" />
        </LinearLayout>

        MainActivity.java

         1 package com.baidumap;
        2
        3 import com.baidu.mapapi.BMapManager;
        4 import com.baidu.mapapi.GeoPoint;
        5 import com.baidu.mapapi.MapActivity;
        6 import com.baidu.mapapi.MapController;
        7 import com.baidu.mapapi.MapView;
        8
        9 import android.app.Activity;
        10 import android.os.Bundle;
        11
        12 public class MainActivity extends MapActivity {
        13 private BMapManager mBMapMan;
        14 @Override
        15 public void onCreate(Bundle savedInstanceState) {
        16 super.onCreate(savedInstanceState);
        17 setContentView(R.layout.main);
        18 mBMapMan = new BMapManager(getApplication());
        19 mBMapMan.init("205114502786B06C4C95CEB0F55822F25E46AED2", null);
        20 super.initMapActivity(mBMapMan);
        21
        22 MapView mMapView = (MapView) findViewById(R.id.bmapsView);
        23 mMapView.setBuiltInZoomControls(true); //设置启用内置的缩放控件
        24
        25 mMapView.setTraffic(true);
        26
        27 MapController mMapController = mMapView.getController(); // 得到mMapView的控制权,可以用它控制和驱动平移和缩放
        28 GeoPoint point = new GeoPoint((int) (23.141238 * 1E6),
        29 (int) (113.342331 * 1E6)); //用给定的经纬度构造一个GeoPoint,单位是微度 (度 * 1E6)
        30 mMapController.setCenter(point); //设置地图中心点
        31 mMapController.setZoom(12); //设置地图zoom级别
        32 }
        33
        34 @Override
        35 protected void onDestroy() {
        36 if (mBMapMan != null) {
        37 mBMapMan.destroy();
        38 mBMapMan = null;
        39 }
        40 super.onDestroy();
        41 }
        42 @Override
        43 protected void onPause() {
        44 if (mBMapMan != null) {
        45 mBMapMan.stop();
        46 }
        47 super.onPause();
        48 }
        49 @Override
        50 protected void onResume() {
        51 if (mBMapMan != null) {
        52 mBMapMan.start();
        53 }
        54 super.onResume();
        55 }
        56 @Override
        57 protected boolean isRouteDisplayed() {
        58 // TODO Auto-generated method stub
        59 return false;
        60 }
        61 }

          

        运行结果如下:

          

  • 相关阅读:
    [Github]在仓库中添加Sponsor赞助者按钮
    SpringMVC面试题常问的29道(附答案)
    Spring常问面试题及答案汇总(2020版)
    Java面试题及答案整理(2020最新版)
    MySQL数据库下载及安装教程(最新版!史上最详细!)
    +0与-0在plc传递数值上的坑
    halcon极坐标转换与亮暗缺陷检测结合的案例(转)
    互联网项目管理
    zabbix 监控IO DISK
    转 更改当前schema
  • 原文地址:https://www.cnblogs.com/hxxy2003/p/2131951.html
Copyright © 2011-2022 走看看