【MUI】百度地圖定位功能
阿新 • • 發佈:2017-05-31
scom 需要 read rto code lan containe convert marker
博主最近進行一款APP開發,需要用到定位功能,經過一番折騰,終於搞定,不廢話,代碼如下
mui.plusReady(function() { var longitude, latitude; //var map = new BMap.Map("container"); // navigator.geolocation.getCurrentPosition(function(position) { // longitude = position.coords.longitude;// latitude = position.coords.latitude; // // console.log("longitude:" + longitude + "==latitude:" + latitude); // var point = new BMap.Point(longitude, latitude); // map.centerAndZoom(point, 20); // 初始化地圖,設置中心點坐標和地圖級別 // var marker = new BMap.Marker(point); // 創建標註// map.addOverlay(marker); // 將標註添加到地圖中 // map.panTo(point); // }); plus.geolocation.getCurrentPosition(translatePoint, function(e) { mui.toast("異常:" + e.message); }); function translatePoint(position) {var currentLon = position.coords.longitude; var currentLat = position.coords.latitude; var gpsPoint = new BMap.Point(currentLon, currentLat); BMap.Convertor.translate(gpsPoint, 2, initMap); //坐標轉換 } function initMap(point) { map = new BMap.Map("container"); //創建地圖 map.addControl(new BMap.NavigationControl()); map.addControl(new BMap.ScaleControl()); map.addControl(new BMap.OverviewMapControl()); map.centerAndZoom(point, 15); map.addOverlay(new BMap.Marker(point)); } // setTimeout(function() { // var gpsPoint = new BMap.Point(longitude, latitude); // BMap.Convertor.translate(gpsPoint, 0, function(point) { // var geoc = new BMap.Geocoder(); // geoc.getLocation(point, function(rs) { // var addComp = rs.addressComponents; // mui.alert(addComp.province + ", " + addComp.city + ", " + addComp.district + ", " + addComp.street + ", " + addComp.streetNumber); // }); // }); // }, 3000); });
註意,在使用過程中,需要引入百度地圖的JS
<script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=開發者key"></script>
<script type="text/javascript" src="http://developer.baidu.com/map/jsdemo/demo/convertor.js"></script>
其中,開發者key需要自己去百度地圖開發者平臺申請,此處教程上鏈接http://lbsyun.baidu.com/index.php?title=androidsdk/guide/key
【MUI】百度地圖定位功能