APICloud開發者進階之路 | 超級實用技巧

金秋9月,腦海還是北京的“中非合作藍”!今天按照慣例,柚子君還是要督促大家充充電的!

本週《30天,App開發從0到1》將要給大家分享第十章超級實用技巧,我們精選了其中的一個章節--地圖模塊的實用擴展:在地圖上添加自定義按鈕,一起來學習吧。

主要內容
本章將向讀者介紹一些開發中常用的功能和技巧 , 這些技巧涉及應用開發的方方面面。

示例 1 講解了屏幕動態適配的方法,是開發 App 必須具備要掌握的技能之一;
示例 2、示例 7、示例 9 ~示例 11 具體講解了一些常見的業務需求的實現方法,重點理解其功能實現時的相關邏輯處理;
示例 3 講解了打開 Web 頁面的處理;
示例 4 介紹了 App 的換皮膚功能、示例 5 講解了如何實現語言國際化、示例 6 介紹如何喚起其他 App,這些示例都是很實用的實戰功能技巧,在App 開發中會經常用到;
示例 8 講解了 APICloud 運行原理方面的相關知識,瞭解並掌握這些知識會對優化 App 功能體驗有很大幫助。

學習目標

(1)頁面動態適配有虛擬按鍵欄的 Android 手機。
(2)實現獲取手機驗證碼的功能。
(3)打開一個外部鏈接作爲新頁面,並設置樣式以及事件監聽。
(4)實現 App 的皮膚樣式切換功能。
(5)實現App多語言版本切換功能。
(6)調用任意 App。
(7)快速開發數據表格。
(8)apiready 與 window.onload 的平衡使用。
(9)在地圖上添加自定義按鈕。
(10) 如何獲取城市的地鐵線路列表。
(11)實現極光推送。

[size=1.25]10.9 地圖模塊的實用擴展:
[size=1.25]在地圖上添加自定義按鈕

地圖模塊在很多應用裏被廣泛使用,模塊 Store 上面的地圖模塊封裝了地圖提供方的官方SDK,如果想要在地圖上增加幾個按鈕來實現某些自定義功能,就需要自定義添加一些按鈕上去,如圖 10-8 所示。

https://mmbiz.qpic.cn/mmbiz_png/FR6Tz3rLxibrj1fZlzy8JjYxogChBlv6rVl3sqzaJOq1ibKB8KWtpbB6smvn7Kobaicp65GHBU2lQgicBxo7xsVhCg/640?wx_fmt=png![](http://i2.51cto.com/images/blog/201809/11/71fe08e47185b397212b64af2c15b78b.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)

圖 10-8

實現自定義按鈕的關鍵就是 APICloud 官方提供的免費模塊 UIButton。這裏要實現的功能是點擊中心點按鈕,讓地圖回到中心點。代碼如下:

var aMap = api.require('aMap'); // 引入地圖模塊,這裏使用的是高德地圖
var UIButton = api.require('UIButton'); // 引入UIButton模塊
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,在點擊按鈕的時候,對這個按鈕的狀態進行更改
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') {
// 在接收到按鈕被點擊的指令之後,更改按鈕的狀態爲normal,用來改變按鈕的樣式,恢復未點
//擊之前的樣式
UIButton.getState({
id: buttonId
}, function(ret, err) {
if (ret.state === 'active') {
UIButton.setState({
id: buttonId,
state: 'normal'
})
}
});
// 讓地圖回到中心點處
aMap.setCenter({
coords: {
lon: lon,
lat: lat
}
});
}
})
}
});
這樣就簡單地實現了在地圖上自定義按鈕的功能。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章