PhoneGap 获取GPS坐标转换百度坐标

<!DOCTYPE html>
<html>
<head>
<title>地图</title>
<meta http-equiv="Content-type" content="text/html; charset=utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<meta name="apple-mobile-web-app-capable" content="yes" />        

<script type="text/javascript" src="phonegap.js"></script>

<script type="text/javascript" src="jqmobi/build/appframework.min.js"></script>
        <script type="text/javascript" src="jqmobi/plugins/af.css3animate.js"></script>
        <script type="text/javascript" src="jqmobi/plugins/af.desktopBrowsers.js"></script>
       <script type="text/javascript" src="jqmobi/plugins/af.scroller.js"></script>
   
<!--des加密解密-->
<script type="text/javascript" src="js/tripledes.js"></script>
<script type="text/javascript" src="js/mode-ecb.js"></script>
<!--jQuery查询类库-->
<script type="text/javascript" src="js/jquery-2.1.4.min.js"></script>
<script type="text/javascript" src="jqmobi/build/jq.appframework.min.js"></script>
<script type="text/javascript" src="jqmobi/build/ui/appframework.ui.js"></script> 

<!-重点部分+JQ,其他可以选择性忽略-->

<script type="text/javascript" src="cordova.js"></script>
<script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=ttOVtRUquBpO2OsyrtawdT0i"></script>


<link rel="stylesheet" type="text/css" href="jqmobi/build/css/icons.min.css" />
<link rel="stylesheet" type="text/css" href="jqmobi/build/css/af.ui.min.css" />
<link rel="stylesheet" type="text/css" href="css/style.css"/>

</head>
   
<!----------------------script------------------------->
<script type="text/javascript">


    $(document).ready(function(){
        $("#afui").get(0).className = "ios7";
    });
       
    $.ui.animateHeaders = false;
    
    var getPositions ="";
    function onLoaded(){
    document.addEventListener("deviceready", onDeviceReady, false);
    }  
    function onDeviceReady(){
    navigator.geolocation.getCurrentPosition(onSuccess, onError,{ timeout: 100000, enableHighAccuracy: true });  
   
    }
    function onSuccess(position) {   
        var element = document.getElementById('geolocation');
        var latitude=position.coords.latitude ; //纬度
        var longitude=position.coords.longitude;//径度
        var point = new BMap.Point(longitude,latitude);

var map = new BMap.Map("map");
        map.centerAndZoom(point,16);
        var navigationControl = new BMap.NavigationControl({
   anchor: BMAP_ANCHOR_TOP_LEFT,
   type: BMAP_NAVIGATION_CONTROL_LARGE,
   enableGeolocation: true
 });
map.addControl(new BMap.NavigationControl());
//   var marker = new BMap.Marker(point);        // 创建标注    
// map.addOverlay(marker);//添加GPS marker
//    var labelgg = new BMap.Label("GPS坐标",{offset:new BMap.Size(20,-10)});
   marker.setLabel(labelgg); //添加GPS label
//

        var gc = new BMap.Geocoder(); 
        gc.getLocation(point, function(rs){
            var addComp = rs.addressComponents;
//          alert(addComp.province + ", " + addComp.city + ", " + addComp.district + ", " + addComp.street + ", " + addComp.streetNumber);
        });   

translateCallback = function (data){
     if(data.status === 0) {
       var marker = new BMap.Marker(data.points[0]);
       map.addOverlay(marker);
//        var label = new BMap.Label("转换后的百度坐标(正确)",{offset:new BMap.Size(20,-10)});
//        marker.setLabel(label); //添加百度label
       map.setCenter(data.points[0]);
     }
   }

setTimeout(function(){
       var convertor = new BMap.Convertor();
       var pointArr = [];
       pointArr.push(point);
       convertor.translate(pointArr, 1, 5, translateCallback)
   }, 1000);
   
     // 添加定位控件
var geolocationControl = new BMap.GeolocationControl();
geolocationControl.addEventListener("locationSuccess", function(e){
   // 定位成功事件
var address = '';
   address += e.addressComponent.province;
   address += e.addressComponent.city;
   address += e.addressComponent.district;
   address += e.addressComponent.street;
   address += e.addressComponent.streetNumber;
//    alert("当前定位地址为:" + address);
map.setZoom(16);



});
geolocationControl.addEventListener("locationError",function(e){
   // 定位失败事件
   alert(e.message);
});
map.addControl(geolocationControl);

//本地检索
var local = new BMap.LocalSearch(map, {
renderOptions:{map: map}
});
local.search("公园");


    }
    // onError 回调函数, 接收包含具体错误信息的PositionError 对象
    function onError(error) {
        alert('错误代码: '    + error.code    + '\n' +
              '详细信息: ' + error.message + '\n');
    }


  
    //根据纬度经度获取详细地址
//  function getPosition(longitude,latitude){
//      // 百度地图API功能
//      var map = new BMap.Map("map");
//      var point = new BMap.Point(longitude,latitude);
//      map.centerAndZoom(point,16);
//      var navigationControl = new BMap.NavigationControl({
//    anchor: BMAP_ANCHOR_TOP_LEFT,
//    type: BMAP_NAVIGATION_CONTROL_LARGE,
//    enableGeolocation: true
//  });
// map.addControl(new BMap.NavigationControl());
//   var marker = new BMap.Marker(point);        // 创建标注    
// map.addOverlay(marker);//添加GPS marker
//    var labelgg = new BMap.Label("未转换的GPS坐标(错误)",{offset:new BMap.Size(20,-10)});
//    marker.setLabel(labelgg); //添加GPS label
//
//
//      var gc = new BMap.Geocoder(); 
//      gc.getLocation(point, function(rs){
//          var addComp = rs.addressComponents;
//          alert(addComp.province + ", " + addComp.city + ", " + addComp.district + ", " + addComp.street + ", " + addComp.streetNumber);
//      });   
//  } 
    
    
//坐标转换完之后的回调函数
   


     




    
    
</script>
   
<!----------------------style------------------------->   
<style type="text/css">
#afui .panel{
padding: 0 !important;
}
    #map{
   width:100%;
   height:400px;
}
 
</style>




<body οnlοad="onLoaded()">
<div id="afui">
<div id="content">
<div id="msg_panel" class="panel" data-header="msg_header" data-footer="apply_footer" data-tab="navbar_msg" data-load="load_msg_panel" data-unload="unload_msg_panel"  style="padding-top: 20px;">
   <div id="map"></div>
</div>

<!--页面头部-->
<header id="msg_header">
   <div class="top_header">
       <h1>地图</h1>
   </div>
   <ul class="list" id="checkNetwork" style="background-color:#FFA;margin-bottom: 0px;display: none;">
<div style="width:100%;height: 35px;line-height: 35px;text-align: center;font-size: 14px">
<a class='icon warning' style="color: red"></a>
世界上最遥远的距离就是没网,检查网络设置
</div>
</ul>
</header>

    <!--页面底部-->
   <footer id="apply_footer">
    <a href="messageList.html" id="navbar_msg" class="icon message" data-ignore="True"  style="width: 25%;" data-transition="none">消息</a>
    <a href="apply.html" id="navbar_apply" class="icon calendar" data-ignore="True"  style="width: 25%;" data-transition="none">应用</a>
    <a href="addressList.html" id="navbar_tel" class="icon phone" data-ignore="True"  style="width: 25%;" data-transition="none">通讯录</a>
    <a href="my.html" id="navbar_my" class="icon user" data-ignore="True"  style="width: 25%;" data-transition="none">我</a>
   </footer>
</div>
</div>
</body>
</html>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值