【MUI】百度地圖定位功能

博主最近進行一款APP開發,須要用到定位功能,通過一番折騰,終於搞定,不廢話,代碼以下javascript

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);

            });

注意,在使用過程當中,須要引入百度地圖的JSphp

<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/keyjava

相關文章
相關標籤/搜索