關於百度定位##
- 這是官方定位的解釋:geolocation
- 地圖插件配置
- 我在問答里面找到了這位童鞋的百度定位,地址變更提醒
不過,童鞋倒是給具體的示例啊,木有\~\~\~\~(>_<)\~\~\~\~
官方的插件配置也看的懵懵懂懂,一塌糊塗
ok,自己搞,搞了大半天基本上弄清楚了,下面就總結一下自己的心血歷程吧!!!~~~~~
- 首先要到百度lbs開放平台注冊開發者賬號
- 在應用里面創建應用我的應用
- 服務器、Android、ios、瀏覽器逐個建立一個遍
- 安卓和ios的安全碼采用dcloud官方的“BA:AD:09:3A:82:82:9F:B4:32:A7:B2:8C:B4:CC:F0:E9:F3:7D:AE:58;io.dcloud.HBuilder”
- 服務器和瀏覽器的Refer白名單默認“*”
- 下面就是挖坑填坑的經歷了
到這終於可以松一口氣了,差多搞定了,下面就是碼磚了,為了方便,直接貼代碼了
<!--廢棄-->
<!--<script type="text/javascript" src="http://api.map.baidu.com/api?type=quick&ak=你的key&v=1.0"></script>-->
(function($) {
/**
* @description 獲取百度定位信息
* @param {Function} callback
*/
function getPosition(callback) {
try {
plus.geolocation.getCurrentPosition(function(position) {
console.log(JSON.stringify(position));
var codns = position.coords; //獲取地理坐標信息;
// var geoc = new BMap.Geocoder();
// var pt = new BMap.Point(codns.longitude, codns.latitude);
// geoc.getLocation(pt, function(rs) {
// var addComp = rs.addressComponents;
// console.log(JSON.stringify(addComp));
// var lo =addComp.province+','+addComp.city;
// callback(lo);
// });
var req = 'http://api.map.baidu.com/geocoder/v2/';
var parms = {
ak: '你的key',
callback: 'renderReverse',
output: 'json',
location: codns.latitude + ',' + codns.longitude
//,pois:1(周邊poi數組) //不建議要,周邊數據太雜,不需要
};
mui.ajax(req, {
data: parms,
dataType: 'json', //服務器返回json格式數據
type: 'post', //HTTP請求類型
timeout: 10000, //超時時間設置為10秒;
success: function(data) {
console.log(JSON.stringify(data));
myStorage.setItem('geolocation',data);
if (data.status == 0) {
var lo = data.result.addressComponent.province + ',' + data.result.addressComponent.city;
callback(lo);
} else {
callback(false);
}
},
error: function(xhr, type, errorThrown) {
callback(false);
}
});
}, function(e) {
console.log("獲取定位位置信息失敗:" + e.message);
callback(false);
}, {
provider: 'baidu'
});
} catch (e) {
callback(false);
console.error(e.message);
}
}
$.getbaiduposition = getPosition;
}(mui));
http://www.cnblogs.com/phillyx/