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 }

          

        运行结果如下:

          

  • 相关阅读:
    使用javap分析Java的字符串操作
    使用javap深入理解Java整型常量和整型变量的区别
    分享一个WebGL开发的网站-用JavaScript + WebGL开发3D模型
    Java动态代理之InvocationHandler最简单的入门教程
    Java实现 LeetCode 542 01 矩阵(暴力大法,正反便利)
    Java实现 LeetCode 542 01 矩阵(暴力大法,正反便利)
    Java实现 LeetCode 542 01 矩阵(暴力大法,正反便利)
    Java实现 LeetCode 541 反转字符串 II(暴力大法)
    Java实现 LeetCode 541 反转字符串 II(暴力大法)
    Java实现 LeetCode 541 反转字符串 II(暴力大法)
  • 原文地址:https://www.cnblogs.com/hxxy2003/p/2131951.html
Copyright © 2011-2022 走看看