APICloud开发者进阶之路 | 超级实用技巧
金秋9月,腦海還是北京的“中非合作藍(lán)”!今天按照慣例,柚子君還是要督促大家充充電的!
本周《30天,App開發(fā)從0到1》將要給大家分享第十章超級(jí)實(shí)用技巧,我們精選了其中的一個(gè)章節(jié)--地圖模塊的實(shí)用擴(kuò)展:在地圖上添加自定義按鈕,一起來學(xué)習(xí)吧。
主要內(nèi)容
本章將向讀者介紹一些開發(fā)中常用的功能和技巧 , 這些技巧涉及應(yīng)用開發(fā)的方方面面。
示例 1 講解了屏幕動(dòng)態(tài)適配的方法,是開發(fā) App 必須具備要掌握的技能之一;
示例 2、示例 7、示例 9 ~示例 11 具體講解了一些常見的業(yè)務(wù)需求的實(shí)現(xiàn)方法,重點(diǎn)理解其功能實(shí)現(xiàn)時(shí)的相關(guān)邏輯處理;
示例 3 講解了打開 Web 頁面的處理;
示例 4 介紹了 App 的換皮膚功能、示例 5 講解了如何實(shí)現(xiàn)語言國際化、示例 6 介紹如何喚起其他 App,這些示例都是很實(shí)用的實(shí)戰(zhàn)功能技巧,在App 開發(fā)中會(huì)經(jīng)常用到;
示例 8 講解了 APICloud 運(yùn)行原理方面的相關(guān)知識(shí),了解并掌握這些知識(shí)會(huì)對優(yōu)化 App 功能體驗(yàn)有很大幫助。
學(xué)習(xí)目標(biāo)
(1)頁面動(dòng)態(tài)適配有虛擬按鍵欄的 Android 手機(jī)。
(2)實(shí)現(xiàn)獲取手機(jī)驗(yàn)證碼的功能。
(3)打開一個(gè)外部鏈接作為新頁面,并設(shè)置樣式以及事件監(jiān)聽。
(4)實(shí)現(xiàn) App 的皮膚樣式切換功能。
(5)實(shí)現(xiàn)App多語言版本切換功能。
(6)調(diào)用任意 App。
(7)快速開發(fā)數(shù)據(jù)表格。
(8)apiready 與 window.onload 的平衡使用。
(9)在地圖上添加自定義按鈕。
(10) 如何獲取城市的地鐵線路列表。
(11)實(shí)現(xiàn)極光推送。
[size=1.25]10.9 地圖模塊的實(shí)用擴(kuò)展:
[size=1.25]在地圖上添加自定義按鈕
地圖模塊在很多應(yīng)用里被廣泛使用,模塊 Store 上面的地圖模塊封裝了地圖提供方的官方SDK,如果想要在地圖上增加幾個(gè)按鈕來實(shí)現(xiàn)某些自定義功能,就需要自定義添加一些按鈕上去,如圖 10-8 所示。
https://mmbiz.qpic.cn/mmbiz_png/FR6Tz3rLxibrj1fZlzy8JjYxogChBlv6rVl3sqzaJOq1ibKB8KWtpbB6smvn7Kobaicp65GHBU2lQgicBxo7xsVhCg/640?wx_fmt=png
圖 10-8
實(shí)現(xiàn)自定義按鈕的關(guān)鍵就是 APICloud 官方提供的免費(fèi)模塊 UIButton。這里要實(shí)現(xiàn)的功能是點(diǎn)擊中心點(diǎn)按鈕,讓地圖回到中心點(diǎn)。代碼如下:
var aMap = api.require('aMap'); // 引入地圖模塊,這里使用的是高德地圖
var UIButton = api.require('UIButton'); // 引入U(xiǎn)IButton模塊
var lon = 116.4021310000;
var lat = 39.9994480000;
aMap.open({
rect: {
x: 0,
y: 65,
w: 'auto',
h: api.frameHeight - 65
},
center: {
lon: lon,
lat: lat
},
showUserLocation: true,
zoomLevel: 14,
fi xedOn: api.frameName,
fi xed: true
}, function(ret, err) {
if (ret) {
var buttonId; // 記錄下來按鈕的id,在點(diǎn)擊按鈕的時(shí)候,對這個(gè)按鈕的狀態(tài)進(jìn)行更改
UIButton.open({
rect: {
x: api.frameWidth - 52,
y: api.frameHeight - 140,
w: 40,
h: 40
},
corner: 5,
bg: {
normal: 'widget://img/dingwei.png',
highlight: 'widget://img/dingwei_2.png',
active: 'widget://img/dingwei_2.png'
}, // 這里是按鈕的三種樣式
fi xedOn: api.frameName,
fi xed: true,
move: false
}, function(ret, err) {
if (ret && ret.eventType === 'show') {
buttonId = ret.id
}
if (ret && ret.eventType === 'click') {
// 在接收到按鈕被點(diǎn)擊的指令之后,更改按鈕的狀態(tài)為normal,用來改變按鈕的樣式,恢復(fù)未點(diǎn)
//擊之前的樣式
UIButton.getState({
id: buttonId
}, function(ret, err) {
if (ret.state === 'active') {
UIButton.setState({
id: buttonId,
state: 'normal'
})
}
});
// 讓地圖回到中心點(diǎn)處
aMap.setCenter({
coords: {
lon: lon,
lat: lat
}
});
}
})
}
});
這樣就簡單地實(shí)現(xiàn)了在地圖上自定義按鈕的功能。
轉(zhuǎn)載于:https://blog.51cto.com/9334358/2173676
總結(jié)
以上是生活随笔為你收集整理的APICloud开发者进阶之路 | 超级实用技巧的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: UE4的纸面滤镜
- 下一篇: Sublime Text 3 注册激活码