1. 程式人生 > >AndroidStudio下加入百度地圖的使用 (三)——API基本方法及常量屬性

AndroidStudio下加入百度地圖的使用 (三)——API基本方法及常量屬性

package com.jerehedu.administrator.baidumapapplication;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.CheckBox;
import android.widget.RadioGroup;

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.MapStatus;
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.map.UiSettings; import com.baidu.mapapi.model.LatLng;
public class UISettingDemo extends Activity { /** * MapView 是地圖主控制元件 */ private MapView mMapView; private BaiduMap mBaiduMap; private UiSettings mUiSettings; private RadioGroup radioGroup; private CheckBox trafficMap; private boolean firstLocation; private LocationClient locationClient; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); SDKInitializer.initialize(getApplicationContext()); setContentView(R.layout.activity_uisetting); mMapView = (MapView) findViewById(R.id.MyMpView); radioGroup =(RadioGroup)findViewById(R.id.radioButtonGroup); trafficMap =(CheckBox)findViewById(R.id.mapTraffic); mBaiduMap = mMapView.getMap(); mUiSettings = mBaiduMap.getUiSettings(); //overlook 設定地圖俯仰角 MapStatus ms = new MapStatus.Builder().overlook(-30).build(); MapStatusUpdate u = MapStatusUpdateFactory.newMapStatus(ms); mBaiduMap.animateMapStatus(u, 1000); radioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() { @Override public void onCheckedChanged(RadioGroup group, int checkedId) { switch (checkedId){ case R.id.mapNormal: //普通地圖 mBaiduMap.setMapType(BaiduMap.MAP_TYPE_NORMAL); break; case R.id.mapSate: //衛星地圖 mBaiduMap.setMapType(BaiduMap.MAP_TYPE_SATELLITE); break; } } }); locationSet(); } /** * 是否啟用縮放手勢 * * @param v */ public void setZoomEnable(View v) { mUiSettings.setZoomGesturesEnabled(((CheckBox) v).isChecked()); } /** * 是否啟用平移手勢 * * @param v */ public void setScrollEnable(View v) { mUiSettings.setScrollGesturesEnabled(((CheckBox) v).isChecked()); } /** * 是否啟用旋轉手勢 * * @param v */ public void setRotateEnable(View v) { mUiSettings.setRotateGesturesEnabled(((CheckBox) v).isChecked()); } /** * 是否啟用俯視手勢 * * @param v */ public void setOverlookEnable(View v) { mUiSettings.setOverlookingGesturesEnabled(((CheckBox) v).isChecked()); } /** * 交通地圖模式 * * @param v */ public void setTrafficMap(View v){ if (trafficMap.isChecked()) { mBaiduMap.setTrafficEnabled(true); } else { mBaiduMap.setTrafficEnabled(false); } } /** * 是否啟用指南針圖層 * * @param v */ public void setCompassEnable(View v) { mUiSettings.setCompassEnabled(((CheckBox) v).isChecked()); } public void locationSet(){ mBaiduMap = mMapView.getMap(); MapStatusUpdate msu = MapStatusUpdateFactory.zoomTo(15f); mBaiduMap.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(); // 設定定位資料 mBaiduMap.setMyLocationData(locData); // 第一次定位時,將地圖位置移動到當前位置 if (firstLocation) { firstLocation = false; LatLng xy = new LatLng(location.getLatitude(), location.getLongitude()); MapStatusUpdate status = MapStatusUpdateFactory.newLatLng(xy); mBaiduMap.animateMapStatus(status); } } }); } @Override protected void onStart() { // 如果要顯示位置圖示,必須先開啟圖層定位 mBaiduMap.setMyLocationEnabled(true); if (!locationClient.isStarted()) { locationClient.start(); } super.onStart(); } @Override protected void onStop() { // 關閉圖層定位 mBaiduMap.setMyLocationEnabled(false); locationClient.stop(); super.onStop(); } @Override protected void onPause() { // MapView的生命週期與Activity同步, // 當activity掛起時需呼叫MapView.onPause() mMapView.onPause(); super.onPause(); } @Override protected void onResume() { // MapView的生命週期與Activity同步, // 當activity恢復時需呼叫MapView.onResume() mMapView.onResume(); super.onResume(); } @Override protected void onDestroy() { // MapView的生命週期與Activity同步, // 當activity銷燬時需呼叫MapView.destroy() mMapView.onDestroy(); super.onDestroy(); } }

相關推薦

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整合地圖POI檢索

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

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

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

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

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

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

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

地圖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

Vue專案實戰引入地圖

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

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

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

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

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

地圖AK申請與給應用簽名

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

pythonRequests庫方法HTTP協議

學習框架:1.Requests 自動爬取HTML頁面 自動網路請求提交2. robots.txt 網路爬蟲排除標準3.Beautiful Soup 解析HTML頁面4.Projects實戰專案A/B5.Re 正則表示式詳解  提取頁面關鍵資訊6.Scrapy 網路爬蟲原理介紹

android 地圖具體請看開放平臺

int over layout tco pap 平臺 jar pil inter compile files(‘libs/BaiduLBS_Android.jar‘) compile ‘com.android.support:appcompat-v7:26.+‘

地圖多點定位+聚合

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

ios 整合地圖獲取定位,反向地理編碼

原因 :之所以使用百度地圖,是因為當時使用蘋果自帶的定位給後臺傳經緯度,後臺用百度解析誤差比較大,所以換成了百度地圖 本文主要講解下cocoapods 整合 看詳細整合請點選(cocoapod整合連結) 1 、首先去百度地圖開放平臺註冊賬戶 點選立即使用 然後註冊 2、然後進行郵箱啟用

vue-cli中使用地圖根據輸入框輸入的內容,獲取詳細地址

效果圖如下: 1.申請百度地圖金鑰(ak)-- http://lbsyun.baidu.com/index.php?title=jspopular (1)百度地圖開放平臺–開發文件–web開發–JavaScript API–服務介紹–產品簡介–申請金鑰(ak) (2)

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

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