国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

出行品類HarmonyOS高德地圖集成過程分享

系統 OpenHarmony
電子地圖采用高德地圖,接下來我們看HarmonyOS高德地圖集成程序具體實現過程。

??想了解更多關于開源的內容,請訪問:??

??51CTO 開源基礎軟件社區??

??https://ost.51cto.com??

項目背景

電動車因騎行方便、節省時間等優勢,成為我們日常出行的交通工具之一,國內電動車的需求數據龐大且逐年攀升。然而電動車頻繁被盜也不是新聞了,不僅給用戶帶來煩惱,也給警務工作增加負擔。如何制定一套提升用戶體驗又能兼顧高安全性的出行品類解決方案,是我們主要思考研究的方向。

為了提升及改善日常出行品類的用戶體驗,讓手機成為電動車鑰匙無感解鎖,我們想到可利用藍牙靠近發現的特性,采用無鑰匙解鎖控車作為主要功能,實現設備快速連接。但是常見的電動車、童車等出行類產品均在戶外使用,其安全性要求極高,雖然可利用藍牙技術進行極簡連接控制,但由于藍牙本身具有開放廣播的特性,在設備附近的人都可以通過手機發現設備,則會帶來嚴重的安全隱患。

針對此問題,經過反復推敲,最終決定利用安全秘鑰結合云服務,在設備發現、連接操控進行嚴格的操作認證管控,實現極簡連接體驗和嚴格安全控車需求;結合GPS、電子地圖,實現設備的出行軌跡展示功能,動態計算設備的停留點、停留時間;采用出行產品電子圍欄技術,用戶通過手機直接在電子地圖上圈定范圍區域,如果設備被移到范圍外,手機就會收到報警通知,防止車輛丟失。

邏輯實現

手機靠近電動車設備,手機藍牙打開在未連接的情況下,手機將彈出連接提示,連接后將跳轉至App,可綁定設備以及查看相關狀態,綁定后通過手機一鍵控制開關。設定自動鎖車的時間,超過設定的時間限制,設備將會自動下電并設防。設置電子圍欄,下電設防之后,防盜報警裝置啟動,超出區域報警提示。

以下為App部分效果圖:

#夏日挑戰賽#出行品類HarmonyOS高德地圖集成過程分享-開源基礎軟件社區

#夏日挑戰賽#出行品類HarmonyOS高德地圖集成過程分享-開源基礎軟件社區

#夏日挑戰賽#出行品類HarmonyOS高德地圖集成過程分享-開源基礎軟件社區

電子地圖采用高德地圖,接下來我們看HarmonyOS高德地圖集成程序具體實現過程:

1、為項目增加高德地圖依賴包

  • 依賴包放入模塊src同級目錄libs。
  • 基礎依賴:mapslibrary-release.har。
  • 搜索功能:searchlibrary-release.har。
  • 模塊build.gradle文件中配置。
implementation fileTree(dir: 'libs', include: ['*.jar', '*.har'])
...
}

聲明權限:模塊config.json文件中配置網絡權限。

"reqPermissions": [
{
"name": "ohos.permission.INTERNET"
}
]
...

在項目初始化-MyApplication.onInitialize() 方法中加入如下代碼啟用。

// 搜索
ServiceSettings.getInstance().setApiKey(key);
// 地圖
MapsInitializer.setApiKey(key);

key需在高德開放平臺-控制臺-應用管理-我的應用 中為應用添加key,詳見:https://lbs.amap.com/api/harmonyos-sdk/guide/get-key。

2、創建地圖

xml中使用標簽。

使用時建議將高度和寬度設為match_parent,如需更靈活使用則需要在代碼中創建。

ohos:id="$+id:mapview"
ohos:height="match_parent"
ohos:width="match_parent"
/>
MapView mapView = (MapView) findComponentById(ResourceTable.Id_mapview);
mapView.onCreate(null);
mapView.onResume();
AMap aMap = mapView.getMap();//地圖操作對象

代碼中創建。

final CameraPosition LUJIAZUI = new CameraPosition.Builder()
.target(new LatLng(31.238068, 121.501654)).zoom(18).build();
AMapOptions aOptions = new AMapOptions();
aOptions.rotateGesturesEnabled(false);//設置地圖是否可以通過手勢進行旋轉。
aOptions.zoomGesturesEnabled(true);//設置地圖是否可以通過手勢進行縮放。
aOptions.scrollGesturesEnabled(true);//設置地圖是否可以通過手勢滑動
aOptions.tiltGesturesEnabled(false);//設置地圖是否可以通過手勢傾斜(3D效果),默認為true。
aOptions.compassEnabled(false);//設置指南針是否可用。
aOptions.scaleControlsEnabled(false);//設置地圖是否顯示比例尺,默認為false。
aOptions.zoomControlsEnabled(true);//設置地圖是否允許縮放。
aOptions.camera(LUJIAZUI);//設置地圖初始化時的地圖窗口狀態
aOptions.logoPosition(AMapOptions.LOGO_POSITION_BOTTOM_LEFT);//logo位置
aOptions.mapType(AMap.MAP_TYPE_NORMAL);//MAP_TYPE_NIGHT 黑夜地圖,夜間模式,值為3
MapView mapView = new MapView(this, aOptions);
ComponentContainer.LayoutConfig layoutConfig = new ComponentContainer.LayoutConfig(
ComponentContainer.LayoutConfig.MATCH_PARENT,
AttrHelper.vp2px(700, this));
layoutConfig.setMarginTop(AttrHelper.vp2px(56, this));
directionalLayout.addComponent(mapView, layoutConfig);
mapView.onCreate(null);
mapView.onResume();
AMap aMap = mapView.getMap();
//縮放按鈕右側居中
aMap.getUiSettings().setZoomPosition(AMapOptions.ZOOM_POSITION_RIGHT_CENTER);

創建后不用時記得銷毀。

建議包含mapView的頁面單獨用一個PageAbility承載。

@Override
protected void onStop() {
super.onStop();
if (mapView != null) {
mapView.onDestroy();
}
}

3、常用配置

CameraPosition:

aMap.moveCamera(CameraUpdateFactory.newCameraPosition(
new CameraPosition.Builder()
.target(new LatLng(31.238068,121.501654)).zoom(18).build()));//地圖移動窗口

常用使用屬性:

(LatLng) target:當前區域屏幕中心經緯度坐標。

(float) zoom:目標可視區域的縮放級別(放大級別),3.0f時地圖可視區域最大、20.0f時地圖可視區域最小。

常用 Listener。

調用 aMap.setXXXListener() 設置。

OnMapLoadedListener 地圖加載完成監聽接口。

AMapGestureListener 地圖手勢識別的回調接口(如禁用手勢,識別到相關手勢也會回調,但OnCameraChangeListener不會觸發)。

OnCameraChangeListener 地圖Camera狀態發生變化的監聽接口.當調用AMap.animateCamera(CameraUpdate)、AMap.moveCamera(CameraUpdate)及手勢操作地圖時會觸發該回調(即當前可視窗口變化監聽)。

UiSettings:

UiSettings uiSettings = aMap.getUiSettings()。

可設置地圖logo、比例尺、縮放按鈕、定位按鈕、指南針顯示,還可設置旋轉手勢、拖拽手勢、傾斜手勢、縮放手勢、雙指縮放手勢是否可用(屏蔽地圖底層操作)。

Projection:

用于屏幕像素點坐標系統和地球表面經緯度點坐標系統之間的變換。

public LatLng fromScreenLocation(Point var1) //將屏幕坐標轉換成地理坐標。
public Point toScreenLocation(LatLng var1) //將地理坐標轉換成屏幕坐標
public VisibleRegion getVisibleRegion() //返回當前可視區域(包含MapView四個角點的經緯度坐標)坐標信息。

4、常見問題解答

在開發過程中,我們經常會遇到以下問題:

1.在xml使用標簽再從代碼中獲取MapView對象,地圖已默認初始化,默認地圖中心為北京市,縮放級別為10.0f,需要調用aMap.moveCamera()方法將窗口移至我們想要的位置,aMap.moveCamera()方法會觸發OnCameraChangeListener監聽。

2.Projection.toScreenLocation()方法是基于當前窗口中心點及縮放級別計算的屏幕坐標,該坐標可能會超出屏幕顯示區域,尤其是地圖初始化還未移動窗口時調用。

3.不太建議在監聽回調接口中觸發其他監聽,可能造成邏輯或優先級沖突(如在AMapGestureListener監聽回調中調用aMap.moveCamera()方法從而又觸發了OnCameraChangeListener監聽)。

4.使用地圖后退出頁面,地圖出現在其他頁面底層,原因為地圖使用后未銷毀,建議包含mapView的頁面單獨用一個PageAbility承載,在Ability.onStop()方法中調用mapView的onDestroy()方法銷毀地圖。

??想了解更多關于開源的內容,請訪問:??

??51CTO 開源基礎軟件社區??

??https://ost.51cto.com??。

責任編輯:jianghua 來源: 鴻蒙社區
相關推薦

2014-12-02 18:23:40

高德地圖

2020-03-26 15:57:47

高德地圖

2014-12-19 11:17:23

高德地圖郭德綱公交導航

2014-11-13 10:46:30

高德地圖APEC出行

2014-09-29 18:02:39

高德地圖十一出行避堵

2016-06-14 15:46:33

高德

2014-12-19 11:21:04

高德地圖

2017-06-23 09:47:42

軟件

2016-06-13 15:45:14

高德大數據

2016-04-28 17:03:59

高德地圖

2014-06-26 14:41:29

高德開放平臺App

2016-06-15 15:15:32

高德

2016-06-14 15:47:25

高德

2018-05-17 11:31:32

高德黑科技出行

2014-10-29 17:53:00

高德地圖
點贊
收藏

51CTO技術棧公眾號

国产a级毛片一区| 久久精品日产第一区二区三区精品版 | julia中文字幕久久亚洲蜜臀 | 九七电影院97理论片久久tvb| 成人h视频在线| 国产麻豆精品theporn| jk破处视频在线| 在线视频精品一| 伊人影院久久| 羞羞免费视频| 亚洲色图15p| 欧美日韩国产一区精品一区| 日本三区在线观看| 欧美精品一区二区三区很污很色的| 女厕嘘嘘一区二区在线播放| 8x8x华人在线| 在线不卡一区二区| 成人影院在线| 第九区2中文字幕| 在线成人小视频| 日韩理论片av| 成人www视频网站免费观看| 亚洲欧美成人一区二区在线电影| 国产精品videosex极品| 国产男小鲜肉同志免费| 色妞色视频一区二区三区四区| 午夜亚洲一区| 嫩草精品影院| 日本一区二区在线播放| 国产亚洲成av人在线观看导航| 超级白嫩亚洲国产第一| 国内精品一区二区| 亚洲成人一区二区| 日韩欧美在线精品| 国产激情在线观看视频| 亚洲欧美中文日韩在线| 久久久蜜桃一区二区人| 福利在线午夜| 2014国产精品| 亚洲3atv精品一区二区三区| 欧美网色网址| 色婷婷成人在线| 久久久国产一区二区| 国产精品99久久久久久似苏梦涵| 欧美黄色视屏| 深田咏美在线x99av| 日韩亚洲欧美一区| 国产欧美三级| 欧美另类极品| 久久久精品国产一区二区三区| 在线这里只有精品| 欧美日本一区| а√天堂中文在线资源bt在线| 91麻豆国产语对白在线观看| 图片区小说区国产精品视频| 精品视频久久| 在线观看你懂得| 亚洲最大福利视频网| 欧美色视频日本版| 伊人久久大香线蕉综合四虎小说 | 亚洲茄子视频| 免费日本一区二区三区视频| 99在线首页视频| 欧美亚洲丝袜传媒另类| 国产精品www.| 麻豆网站在线免费观看| 噜噜噜噜噜久久久久久91| 日韩女同互慰一区二区| 另类小说欧美激情| 成人自拍视频网| 男女男精品视频站| 国产成人自拍视频在线观看| 亚洲成a人在线观看| 午夜亚洲福利| 最新av在线播放| 三级网在线观看| 日韩亚洲国产中文字幕| 中文字幕av一区二区三区免费看| 色综合综合网| 国产专区在线| 亚洲春色在线| 久久综合伊人77777蜜臀| 17c精品麻豆一区二区免费| 97久久视频| 黄页网站大全在线免费观看| 日本福利视频一区| 5252色成人免费视频| 一本大道综合伊人精品热热| 日韩高清不卡一区二区三区| 日韩成人亚洲| 三级黄色的网站| 国产98在线|日韩| 日韩精品免费观看| 国产精品免费免费| 欧美日本中文| 深夜成人福利| heyzo在线观看| 国产综合 伊人色| 国产亚洲一级高清| 亚洲理论在线观看| 亚洲在线成人| 清纯唯美激情亚洲| 国产在线免费观看| 亚洲中文字幕无码av永久| 青青草原成人在线视频| 精品视频在线看| 成人a免费在线看| 亚洲h色精品| 电影一区二区| 亚洲校园欧美国产另类| 久久久无码中文字幕久...| 欧美中文在线免费| 欧美不卡一区二区三区| 国产亚洲短视频| 午夜一区不卡| 久久人人爽人人爽人人片av不| 在线a免费看| 亚洲色图 在线视频| 免费在线观看一区二区| 久久久人成影片一区二区三区观看 | 亚洲日本成人在线观看| 美女久久一区| 成人av综合网| av网址在线免费观看| 日韩肉感妇bbwbbwbbw| 日韩欧美第二区在线观看| 97在线观看视频| 亚洲精品白浆高清久久久久久| 自拍偷拍亚洲综合| 狠狠色综合日日| 婷婷六月综合| 国产精品777777在线播放| 在线日本视频| www.日本一区| 在线观看免费91| 亚洲a∨日韩av高清在线观看| 久久久极品av| 日韩欧美一级特黄在线播放| 亚洲精品国产精华液| 国产精品资源在线看| 国产精品mm| 羞羞色国产精品网站| 国内精彩免费自拍视频在线观看网址 | 国产精品igao视频| 一区二区三区美女xx视频| 欧美私模裸体表演在线观看| 国产精品视频九色porn| 美女视频免费一区| 亚洲乱码免费伦视频| 超碰成人福利| 日本综合视频| 日韩免费影院| 精品乱码一区二区三四区视频 | 国产不卡一区二区三区在线观看| 欧美久久精品一级黑人c片| 日韩精品一区二区三区四区| 午夜精品久久久久影视| 国产精品久久久久久久久果冻传媒| 国产真实乱子伦精品视频| 夜夜爽av福利精品导航| 久久久久国产精品| 夜色77av精品影院| 日韩欧美久久| 久久精品xxxxx| 成人av三级| 黄色羞羞视频在线观看| 免费黄网站在线播放| 欧洲一级在线观看| 97影院在线观看| 男女午夜刺激视频| 欧美激情国产精品日韩| 国产乱子伦精品视频| 在线天堂一区av电影| 日韩欧美一区二区三区四区| 国产精品久久久久av福利动漫| 国产乱肥老妇国产一区二| 欧美在线激情网| 孩xxxx性bbbb欧美| 久久久噜噜噜久久| 国产做受69高潮| 91精品国产高清| 91sao在线观看国产| 韩国视频理论视频久久| 国产91精品久| 国产精品日韩专区| 国产久一一精品| 亚洲最大av网站| 国产福利久久| 久久99九九| 日韩欧美一区二区视频在线播放| 欧美日韩一区二 | 中文字幕av亚洲精品一部二部| 精品国产美女| 欧洲杯半决赛直播| 欧美超碰在线| 午夜精品毛片| 狠狠综合久久| 翔田千里一区二区| 寂寞少妇一区二区三区| 成人午夜免费视频|