1. 程式人生 > >Android Studio下加入百度地圖的使用(二)——定位服務

Android Studio下加入百度地圖的使用(二)——定位服務

package com.jerehedu.administrator.baidumapapplication;

import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;

import com.baidu.location.BDLocation;
import com.baidu.location.BDLocationListener;
import com.baidu.location.LocationClient;
import com.baidu.location.LocationClientOption; import com.baidu.mapapi.SDKInitializer; import com.baidu.mapapi.map.BaiduMap; import com.baidu.mapapi.map.BitmapDescriptor; import com.baidu.mapapi.map.BitmapDescriptorFactory; import com.baidu.mapapi.map.MapStatusUpdate; import com.baidu.mapapi.map.MapStatusUpdateFactory;
import com.baidu.mapapi.map.MapView; import com.baidu.mapapi.map.MyLocationConfigeration; import com.baidu.mapapi.map.MyLocationData; import com.baidu.mapapi.model.LatLng; public class MainActivity extends Activity { private MapView mMapView; private LocationClient locationClient;
private BaiduMap baiduMap; private boolean firstLocation; private BitmapDescriptor mCurrentMarker; private MyLocationConfigeration config; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //此方法要再setContentView方法之前實現 SDKInitializer.initialize(getApplicationContext()); setContentView(R.layout.activity_main); mMapView =(MapView)findViewById(R.id.baiDuMv); baiduMap = mMapView.getMap(); MapStatusUpdate msu = MapStatusUpdateFactory.zoomTo(15f); baiduMap.setMapStatus(msu); // 定位初始化 locationClient = new LocationClient(this); firstLocation =true; // 設定定位的相關配置 LocationClientOption option = new LocationClientOption(); option.setLocationMode(LocationClientOption.LocationMode.Hight_Accuracy); option.setOpenGps(true); option.setCoorType("bd09ll"); // 設定座標型別 option.setScanSpan(1000); locationClient.setLocOption(option); // 設定自定義圖示 BitmapDescriptor myMarker = BitmapDescriptorFactory .fromResource(R.drawable.navi_map); MyLocationConfigeration config = new MyLocationConfigeration( MyLocationConfigeration.LocationMode.FOLLOWING, true, myMarker); locationClient.registerLocationListener(new BDLocationListener() { @Override public void onReceiveLocation(BDLocation location) { // map view 銷燬後不在處理新接收的位置 if (location == null || mMapView == null) return; // 構造定位資料 MyLocationData locData = new MyLocationData.Builder() .accuracy(location.getRadius()) // 此處設定開發者獲取到的方向資訊,順時針0-360 .direction(100).latitude(location.getLatitude()) .longitude(location.getLongitude()).build(); // 設定定位資料 baiduMap.setMyLocationData(locData); // 第一次定位時,將地圖位置移動到當前位置 if (firstLocation) { firstLocation = false; LatLng xy = new LatLng(location.getLatitude(), location.getLongitude()); MapStatusUpdate status = MapStatusUpdateFactory.newLatLng(xy); baiduMap.animateMapStatus(status); } } }); } @Override protected void onStart() { // 如果要顯示位置圖示,必須先開啟圖層定位 baiduMap.setMyLocationEnabled(true); if (!locationClient.isStarted()) { locationClient.start(); } super.onStart(); } @Override protected void onStop() { // 關閉圖層定位 baiduMap.setMyLocationEnabled(false); locationClient.stop(); super.onStop(); } @Override protected void onDestroy() { super.onDestroy(); // 在activity執行onDestroy時執行mMapView.onDestroy() mMapView.onDestroy(); mMapView = null; } @Override protected void onResume() { super.onResume(); // 在activity執行onResume時執行mMapView. onResume () mMapView.onResume(); } @Override protected void onPause() { super.onPause(); // 在activity執行onPause時執行mMapView. onPause () mMapView.onPause(); } }

相關推薦

Android Studio加入地圖的使用 ——環境搭建

  最近有學生要做畢業設計,會使用到定位及地圖資訊的功能,特此研究了一下,供大家參考,百度定位SDK已經更新到了5.0,地圖SDK已經更新到了3.5,但是在AndroidStudio中使用還是存在一些不穩定的情況,本章我們使用定位SDK 4.0,MAP SDK 3.0,下面我們開始搭建環境。 第一步:申請K

Android Studio加入地圖的使用——定位服務

package com.jerehedu.administrator.baidumapapplication; import android.app.Activity; import android.os.Bundle; import android.view.Menu; import and

第三方SDK:地圖定位 + 鷹眼軌跡

#1 基礎地圖 + 基礎定位# 可以看到地圖的介面。 如圖: Menu: <menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app

Android地圖結合方向傳感器我們自己定位哪裏走

troy 真機 pretty 刪除文件 RR tap 大神 素材 near Android百度地圖(二)結合方向傳感器我們自己定位哪裏走 本文代碼在http://b

Vue專案實戰引入地圖

一、在 http://lbsyun.baidu.com/ 申請 祕鑰 二、在index.html檔案中引入 <script type="text/javascript" src="https://api.map.baidu.com/api?v=3.0&ak=Fh9X4h

AndroidStudio加入地圖的使用 ——API基本方法及常量屬性

package com.jerehedu.administrator.baidumapapplication; import android.app.Activity; import android.os.Bundle; import android.view.View; import and

AndroidStudio加入地圖的使用——路線規劃

package com.jerehedu.administrator.baidumapapplication; import android.app.Activity; import android.location.Geocoder; import android.os.Bundle; impo

史上最詳細的Android Studio地圖BaiDuMap開發教程,可以當作官方文件的教科書級別教程!

本文是續寫一一哥作品,(一些大神沒想過要寫出來的,而笨小白又不懂的,,稍有完善。) 原文:http://blog.csdn.net/syc000666/article/details/50756551 由於工作原因,需要用到地圖模組,之前一直是用Eclipse開發百度地圖

android之使用地圖1

baidu man ports cte public phone sch lis stat Activity_main.xml 1 <?xml version="1.0" encoding="utf-8"?> 2 <LinearLayout xmln

Android學習筆記之地圖駕車路線搜尋及RouteOverlay步行路線搜尋及RouteOverlay

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

Android學習筆記之地圖周邊檢索poiSearchNearBy跳轉頁面並輸出搜尋結果

                package xiaosi.baiduMap;import android.app.AlertDialog;import android.content.DialogInterface;import android.os.Bundle;import com.baidu.map

Android Studio使用語音識別的一個簡單例子

一、引言 利用百度語音識別和百度語音合成可以很方便的設計一個語音互動應用,這裡記錄一下百度線上語音識別的簡單例子以便快速上手。  我所用的語音識別包的版本是Baidu-Voice-SDK-Android-1.6.2.zip,開發平臺用的是Android Studio

Android Studio中使用地圖API,不顯示地圖的問題解決辦法

一年前用過這個,當時也遇到很多問題,後面慢慢解決了,然而沒有總結遇到的問題,現在重新做這個,又浪費了一天時間終於解決了崩潰和不顯示地圖的問題,記錄一下 一丶將百度地圖SDK新增到專案中 進入這個網址點選自定義下載之後,選擇你要的功能,然後點下面的開

Android整合地圖POI檢索

      有時候我們需要在地圖上搜索周邊資訊,我們可以用百度地圖提供的POI檢索。      POI(Point of Interest),中文可以翻譯為“興趣點”。在地理資訊系統中,一個POI可以是一棟房子、一個商鋪、一個郵筒、一個公交站等。百度地圖SDK提供三種類型的P

Android 給app加入地圖

說明 mod 開發包 pre cdi color so文件 com uil 1.獲取sha1值 (1)win+R進入cmd窗口 (2)輸入以下代碼 C:\SoftApplication\javajdk\jdk1.8.0_151\bin>keytool -li

地圖多點定位+聚合

初始化 默認 each 直接 搜索 不能 行政 參數 全部 首先頁面引用必須的兩個JS <script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=您的Key值">

地圖2——繪出小區邊界

效果圖: HTML: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Bmap_test</title&g

Vue專案實戰引入地圖

一、在 http://lbsyun.baidu.com/ 申請 祕鑰 二、在index.html檔案中引入 <script type="text/javascript" src="https://api.map.baidu.com/api?v=3.0&ak=Fh9X4h

關於地圖:點聚合及只顯示螢幕範圍內的marker

繼續來總結百度地圖。 前面我們將marker傳入了地圖中去,但是,隨著專案的深入,需要在地圖上顯示的marker也越來越多,這個時候就必然會出現一個問題:卡頓! 那麼百度地圖也為我們提供了“點聚合”來解決這個問題,不過我們還可以設定地圖只顯示螢幕範圍內的ma

地圖AK申請與給應用簽名

1.申請金鑰 首先,使用百度地圖sdk需要一個AK,即金鑰,進入官網,點選下方申請金鑰 然後單擊建立應用,輸入相應資訊後提交即可獲得金鑰 注意,數字簽名和報名之間的分號為英文時候的分號。 數字簽名獲取方法:eclipse獲取數字簽名時只需要在window->P