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 publicclass MainActivity extends MapActivity {
        13 private BMapManager mBMapMan;
        14 @Override
        15 publicvoid 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 protectedvoid onDestroy() {
        36 if (mBMapMan !=null) {
        37 mBMapMan.destroy();
        38 mBMapMan =null;
        39 }
        40 super.onDestroy();
        41 }
        42 @Override
        43 protectedvoid onPause() {
        44 if (mBMapMan !=null) {
        45 mBMapMan.stop();
        46 }
        47 super.onPause();
        48 }
        49 @Override
        50 protectedvoid onResume() {
        51 if (mBMapMan !=null) {
        52 mBMapMan.start();
        53 }
        54 super.onResume();
        55 }
        56 @Override
        57 protectedboolean isRouteDisplayed() {
        58 // TODO Auto-generated method stub
        59 returnfalse;
        60 }
        61 }
        复制代码

         

        运行结果如下:



     
     
  • 相关阅读:
    php用正则表达式匹配URL的简单方法(亲测可行)
    MySQL中MyISAM与InnoDB区别及选择
    crontab定时任务语法及应用
    “购物狂欢节”如何应对“羊毛党”
    深入理解 Linux 的 RCU 机制
    白夜追凶 :手 Q 图片的显示和发送逻辑
    老司机教你如何优雅地完成一个小项目测试
    腾讯云分布式数据库可用性系统实践
    使用 Skeleton Screen 提升用户感知体验
    实战分享,教你蓝牙在小程序中的应用
  • 原文地址:https://www.cnblogs.com/pangblog/p/3322867.html
Copyright © 2011-2022 走看看