欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

flutter地圖使用的簡(jiǎn)單介紹

Flutter 集成百度地圖后閃退問(wèn)題排查記錄

APP集成百度地圖后,開(kāi)發(fā)者模式直接連接真機(jī)可以打開(kāi)地圖,打包成apk后安裝,應(yīng)用直接閃退

成都創(chuàng)新互聯(lián)公司專(zhuān)注于企業(yè)全網(wǎng)營(yíng)銷(xiāo)推廣、網(wǎng)站重做改版、芒康網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、H5頁(yè)面制作商城網(wǎng)站定制開(kāi)發(fā)、集團(tuán)公司官網(wǎng)建設(shè)、成都外貿(mào)網(wǎng)站制作、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁(yè)設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性?xún)r(jià)比高,為芒康等各大城市提供網(wǎng)站開(kāi)發(fā)制作服務(wù)。

驗(yàn)證了3個(gè)環(huán)境

a、Android 6.0

b、Android 9.0

c、Android 8.1

真機(jī)USB線(xiàn)連接

選擇Logcat,將日志級(jí)別選擇未error,日志太多,或者用自定義的過(guò)濾規(guī)則

先清除日志,后迅速點(diǎn)擊手機(jī)上的APP,觀察日志

發(fā)現(xiàn)需要監(jiān)控的APP報(bào)出異常信息,這個(gè)很關(guān)鍵,有異常就是有線(xiàn)索,couldn't find "libflutter.so"

這個(gè)時(shí)候問(wèn)度娘就可以了

未明白具體的原因,臨時(shí)先解決了問(wèn)題,馬克一下

flutter 第三方地圖導(dǎo)航實(shí)現(xiàn)

這里實(shí)現(xiàn)flutter第三方地圖導(dǎo)航,選用最簡(jiǎn)單的方式--調(diào)用第三方地圖客戶(hù)端;但各種地圖客戶(hù)端用的坐標(biāo)系不一定相同,先了解下常見(jiàn)的坐標(biāo)系:

地圖應(yīng)用api坐標(biāo)系:

在 pubspec.yaml 文件中添加依賴(lài)插件:

一般android和ios調(diào)起第三方應(yīng)用是通過(guò)scheme方式,這里調(diào)起第三方地圖客戶(hù)端導(dǎo)航也一樣,如高德地圖,ios scheme為iosamap,android scheme為androidamap; 所以flutter需要引用url_launcher;

未完待續(xù)~~

Flutter筆記-調(diào)用原生IOS高德地圖sdk

2017年底因公司業(yè)務(wù)組合部門(mén)調(diào)整,新的團(tuán)隊(duì)部分維護(hù)的項(xiàng)目用React Native技術(shù)混合開(kāi)發(fā)。為適應(yīng)環(huán)境變化,開(kāi)啟瘋狂RN學(xué)習(xí)之旅,晚上回來(lái)啃資料看視頻。可能由于本身對(duì)RN技術(shù)體驗(yàn)不感冒或者在環(huán)境之下強(qiáng)迫學(xué)習(xí)有點(diǎn)不爽。開(kāi)始尋找代替方案,F(xiàn)luter像一束曙光引起了我的注意,之后一直關(guān)注并利用閑余時(shí)間開(kāi)始探索。2018年一直學(xué)習(xí)到使用Flutter寫(xiě)項(xiàng)目,從0.2.0開(kāi)始到現(xiàn)在1.5版本的發(fā)布,終于開(kāi)始慢慢的爬出坑位了,但是因?yàn)椴糠挚丶杏X(jué)還是不如原生控件好用,因而Flutter提供了PlatformView部件。近期因項(xiàng)目中嚴(yán)重使用依賴(lài)地圖,故而做了Fluterr使用原生IOS高德地圖調(diào)研。因?yàn)槲冶旧硎且幻鸻ndroid開(kāi)發(fā)人員,初學(xué)IOS并記錄下來(lái)。

PlatformView是 flutter 官方提供的一個(gè)可以嵌入 Android 和 iOS 平臺(tái)原生 view 的小部件。

在我們實(shí)際開(kāi)發(fā)中,我們遇到一些 flutter 官方?jīng)]有提供的插件可以自己創(chuàng)建編寫(xiě)插件來(lái)實(shí)現(xiàn)部分功能,但是原生View在 flutter 中會(huì)遮擋住flutter 中的小部件,比如你想使用高德地圖sdk、視頻播放器、直播等原生控件,就無(wú)法很好的與 flutter 項(xiàng)目結(jié)合。

1、info.plist文件設(shè)置

2、 ios 端實(shí)現(xiàn)原生組件PlatformView提供原生view

3 、ios 端創(chuàng)建PlatformViewFactory用于生成PlatformView

4、 ios 端創(chuàng)建FlutterPlugin用于注冊(cè)原生組件

5 、flutter 平臺(tái)嵌入 原生view

iOS端的UiKitView目前還只是preview狀態(tài), 默認(rèn)是不支持的, 需要手動(dòng)打開(kāi)開(kāi)關(guān), 在info.plist文件中新增一行io.flutter.embedded_views_preview為true.

創(chuàng)建類(lèi) FlutterMapView 并實(shí)現(xiàn)FlutterPlatformView 協(xié)議

FlutterMapView.h

FlutterMapView.m

FlutterMapFactory.h

FlutterMapFactory.m

FlutterMapPlugin.h

FlutterMapPlugin.m

請(qǐng)前往 高德開(kāi)放平臺(tái)控制臺(tái) 申請(qǐng) iOS Key。

注意:Bundle Identifier需要與申請(qǐng)的時(shí)候填寫(xiě)的一致

地圖依賴(lài)的庫(kù)列舉如下:

基礎(chǔ) SDK AMapFoundationKit.framework

第一步:將解壓后的MAMapKit.framework 文件 copy 或 拖拽 到工程文件夾中,左側(cè)目錄選中工程名,在 TARGETS-Build Phases- Link Binary With Libaries 中點(diǎn)擊“+”按鈕,在彈出的窗口中點(diǎn)擊“Add Other”按鈕,選擇工程目錄下的 MAMapKit.framework 文件添加到工程中。

千萬(wàn)不要忘記將AMapFoundationKit也一起加入工程。

3D地圖正確配置應(yīng)如下圖所示:

需要引入的資源文件包括:AMap.bundle,其中:AMap.bundle 在 MAMapKit.framework 包中,AMap.bundle資源文件中存儲(chǔ)了定位、默認(rèn)大頭針標(biāo)注視圖等圖片,可利用這些資源圖片進(jìn)行開(kāi)發(fā)。

左側(cè)目錄中選中工程名,在右鍵菜單中選擇Add Files to “工程名”…,從MAMapKit.framework中選擇AMap.bundle文件,并勾選“Copy items if needed”復(fù)選框,單擊“Add”按鈕,將資源文件添加到工程中。

成功跑起來(lái) 。。 。

【百度地圖篇】1.Flutter+百度Sdk實(shí)現(xiàn)地圖功能 & 百度地圖顯示網(wǎng)格問(wèn)題

我是初學(xué)者小白,所以很多看法不深,理解也不夠透徹。但是很適合小白們一起從低角度往高處探索。文中有錯(cuò)誤的,感謝指正,一起進(jìn)步。

趁著假期做一個(gè)Flutter的地圖功能,因?yàn)楹蠖诉x用了百度地圖,所以前端沒(méi)得挑。找了遍插件,并沒(méi)有現(xiàn)成可用的。(不過(guò)發(fā)現(xiàn)了百度官方也自開(kāi)發(fā)Flutter插件,目前功能只有一個(gè)獲取本地位置信息,后期會(huì)繼續(xù)增加吧?很期待!)

參考帖子:

這個(gè)實(shí)際上跟功能之間沒(méi)太大關(guān)系,只是我按照個(gè)人摸索的過(guò)程來(lái)寫(xiě)。

當(dāng)對(duì)一個(gè)“領(lǐng)域/知識(shí)塊”完全不懂的時(shí)候,360°的方向都不確定的話(huà)。先了解基礎(chǔ)概念,有利于你確定自己的摸索方向。

參考帖子:

中間我跳過(guò)了幾十,上百個(gè)帖子的摸索過(guò)程。這個(gè)才是關(guān)鍵能夠真正做事的參考。

因?yàn)榘俣鹊膕dk還算是很完善的,所以一旦出問(wèn)題,都會(huì)有對(duì)應(yīng)的報(bào)錯(cuò)提示。

我是使用flutter插件:permission_handler,來(lái)解決安卓的動(dòng)態(tài)授權(quán)問(wèn)題,用法簡(jiǎn)單而且設(shè)計(jì)合理。

這個(gè)錯(cuò)誤直接來(lái)看,就是簽名有問(wèn)題。怎么查看SHA1碼和包名,這里不多說(shuō),網(wǎng)上有極其多的方法,百度Sdk開(kāi)發(fā)指南里也有。沒(méi)那么復(fù)雜,也沒(méi)那么麻煩。按照流程操作就是對(duì)的。

實(shí)在不放心?跟我一樣,flutter打包后,把a(bǔ)pk反過(guò)來(lái)解SHA1碼不就行了?

參考帖子:

紅色框框基本就是帖子講解的那樣。

藍(lán)色框框見(jiàn)下圖:release標(biāo)簽里好像是自己設(shè)置了。所以debug標(biāo)簽里面,箭頭指向的位置,是我多設(shè)置的一個(gè)參數(shù)。

uid: -1 appid -1 msg: httpsPost failed,IOException:Unable to resolve host "api.map.baidu.com": No address associated with hostname

這一步我是哭笑不得,一開(kāi)始老是和問(wèn)題(2)混淆,導(dǎo)致浪費(fèi)很多時(shí)間。仔細(xì)閱讀后,發(fā)現(xiàn)是不能連接到“api.map.baidu.com”。

我打開(kāi)模擬器的chrome瀏覽器,發(fā)現(xiàn)不能上網(wǎng)。查看手機(jī)的dns是10.0.2.3(默認(rèn)的),和家里wifi不一樣,所以不能上網(wǎng)也正常,之前居然沒(méi)發(fā)現(xiàn)這個(gè)問(wèn)題!!!

終端執(zhí)行:adb shell? 和? getprop,就可以查看所有的屬性參數(shù)了。(window小伙伴自行百度,這個(gè)沒(méi)多大差別。如果你有多個(gè)設(shè)備,記得自己選好設(shè)備。)

在里面找到這一項(xiàng),就是你的dns參數(shù)。有些人是net.dns1,我的是net.eth0.dns1。這個(gè)沒(méi)關(guān)系,只是等下指令 稍微改動(dòng) 就行。

修改dns指令:setprop net.eth0.dns1 192.168.2.1

后面的192.168.2.1是我自己的dns,這個(gè)根據(jù)自己的情況來(lái)填寫(xiě)。不懂的百度下怎么查看自己的dns。

雖然提示設(shè)置失敗,但是回到模擬器一看,地圖已經(jīng)顯示出來(lái)了。

嘿嘿,在flutter設(shè)定多大的區(qū)域,地圖就是多大的區(qū)域。用起來(lái)就很方便了。

過(guò)程十分痛苦,因?yàn)閷?duì)flutter不是很熟悉,對(duì)Android原生更是了解很少。所以自己就像突然不能講話(huà),被丟到一個(gè)陌生的環(huán)境,卻要我去找一個(gè)人。所以細(xì)心很重要,一定要看清楚錯(cuò)誤提示,不要錯(cuò)過(guò)每一個(gè)細(xì)節(jié)和可能性。

幸好最后解決了問(wèn)題,開(kāi)心~

其實(shí)如果你仔細(xì)閱讀過(guò)百度官方的文檔,會(huì)發(fā)現(xiàn)里面有關(guān)于 地圖的生命周期管理 。然后在這里面沒(méi)有提及到,這一點(diǎn)雖然沒(méi)提,但不可或缺,小伙伴就自行思考吧。

最后還有一點(diǎn),其實(shí)我的初衷是想實(shí)現(xiàn)一個(gè)百度地圖的plugin,但是苦于能力有限,對(duì)Android的不熟悉,最后折戟。我不得已另起項(xiàng)目,然后重新實(shí)現(xiàn)地圖sdk接入。經(jīng)過(guò)這次對(duì)于這些有更多更全面的認(rèn)知后,有空會(huì)再次研究flutter 插件的開(kāi)發(fā),共勉,奧利給!!!

高德地圖 flutter 報(bào)LocationManager:doRequireLocationAuth錯(cuò)誤

在flutter中使用高德地圖,突然報(bào)如標(biāo)題的錯(cuò)誤,一開(kāi)始我以為是plist文件沒(méi)有加位置授權(quán),一檢查發(fā)現(xiàn)權(quán)限都有,想著以前這定位都正常的,應(yīng)該是改了其他地方引起定位不了的,一一對(duì)比,是我permission_handler這個(gè)插件升級(jí)了,升級(jí)后ios這邊要在podfile文件下加一下權(quán)限配置

target.build_configurations.eachdo |config|

# You can remove unused permissions here

# for more infomation:

# e.g. when you don't need camera permission, just add 'PERMISSION_CAMERA=0'

config.build_settings['GCC_PREPROCESSOR_DEFINITIONS']||= [

'$(inherited)',

## dart: PermissionGroup.calendar

? ? 'PERMISSION_EVENTS=1',

## dart: PermissionGroup.reminders

? ? 'PERMISSION_REMINDERS=1',

## dart: PermissionGroup.contacts

? ? 'PERMISSION_CONTACTS=1',

## dart: PermissionGroup.camera

? ? 'PERMISSION_CAMERA=1',

## dart: PermissionGroup.microphone

? ? 'PERMISSION_MICROPHONE=1',

## dart: PermissionGroup.speech

? ? 'PERMISSION_SPEECH_RECOGNIZER=1',

## dart: PermissionGroup.photos

? ? 'PERMISSION_PHOTOS=1',

## dart: [PermissionGroup.location, PermissionGroup.locationAlways, PermissionGroup.locationWhenInUse]

? ? 'PERMISSION_LOCATION=1',

## dart: PermissionGroup.notification

? ? 'PERMISSION_NOTIFICATIONS=1',

## dart: PermissionGroup.mediaLibrary

? ? 'PERMISSION_MEDIA_LIBRARY=1',

## dart: PermissionGroup.sensors

? ? 'PERMISSION_SENSORS=1',

## dart: PermissionGroup.bluetooth

#? ? ? ? 'PERMISSION_BLUETOOTH=1',

## dart: PermissionGroup.appTrackingTransparency

? ? 'PERMISSION_APP_TRACKING_TRANSPARENCY=1',

## dart: PermissionGroup.criticalAlerts

? ? 'PERMISSION_CRITICAL_ALERTS=1',

]

end

Flutter初學(xué) —— 常用控件使用

在編寫(xiě)幾個(gè) Flutter 項(xiàng)目后,發(fā)現(xiàn) Flutter 的強(qiáng)大之處在于業(yè)務(wù)中所有用到的控件以及場(chǎng)景都有對(duì)應(yīng)的處理方案;而 Dart 語(yǔ)言也與 Java 、 Kotlin 類(lèi)似,所以對(duì) Android 開(kāi)發(fā)者來(lái)說(shuō)門(mén)檻非常低;特意記錄一下常用的控件及其使用:

StatelessWidget 不需要額外的創(chuàng)建 State

StatefulWidget 創(chuàng)建 State 類(lèi),并可以在其中保存一些狀態(tài)

only 可以單獨(dú)設(shè)置每個(gè)方向的內(nèi)邊距

類(lèi)似于 LinearLayout 中的 orientation 設(shè)置為 vertical , mainAxisAlignment 表示豎向的一個(gè)對(duì)齊方式, crossAxisAlignment 表示橫向的對(duì)齊方式

與 Column 相反,主軸是橫向,對(duì)齊方式類(lèi)似, crossAxisAlignment 表示豎向的對(duì)齊方式

類(lèi)似 SizedBox ,一個(gè)容器,但是主要功能是有一個(gè) decoration —— 裝飾器,作用是繪制背景,或者使用 item 中的陰影

棧,先入后出,類(lèi)似于 Android 上的 FrameLayout

通常配合 Stack 使用,固定顯示在某一個(gè)位置

配合多 child 使用,會(huì)填充剩余的空間

Image 功能強(qiáng)大,使用不同的方法可以加載不同來(lái)源的圖片

看到這些方法,突然覺(jué)得 Flutter 太香了,而且 Image 可以配置 clip 等裁剪出不同形狀的圖片,無(wú)論是圓形還是五角星都不在話(huà)下,然而 Android 要實(shí)現(xiàn)不規(guī)則的形狀,可是要下不少功夫的。

名字和 Android 的一模一樣,但是用法卻比 Android 的簡(jiǎn)單很多:

主要就是 itemCount 與 itemBuilder ,其余就是配置樣式, itemBuilder 需要返回一個(gè) widget ,當(dāng)然了,每個(gè) ListView 都有其對(duì)應(yīng)的 item ,在里面的方法中編寫(xiě) widget 即可

與 ListView 類(lèi)似,但是需要有一個(gè) delegate 類(lèi),作用是設(shè)置有多少列,每一列之間的間距是多少

GridView 沒(méi)有 build , children 表示所有的子 view

最常用的控件之一,有非常多的樣式, Flutter 中通常是使用裝飾器來(lái)處理控件的,如背景使用 BoxDecoration , TextFiled 使用 InputDecoration ; 使用如下

當(dāng)前文章:flutter地圖使用的簡(jiǎn)單介紹
文章路徑:http://www.chinadenli.net/article0/dscddio.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供關(guān)鍵詞優(yōu)化全網(wǎng)營(yíng)銷(xiāo)推廣微信小程序網(wǎng)站改版網(wǎng)站制作軟件開(kāi)發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)