百度地图开发

1 篇文章 0 订阅
1 篇文章 0 订阅

关于地图开发,一直想用iOS App 收集设备的地理位置,然后绘制成路线;

于是。。。。就开始着手了!但是采集的GPS老是不是非常精确,明明采集的参数是最精确的,为什么会有偏差啊?纳尼??后来查了资料,原来是需要地理位置坐标转换!

https://github.com/bytesking/YJLocationConverter;

坐标不准确,是因为百度地图用的是自己专用的坐标系;

需要把GPS世界坐标转化成火星坐标,用火星坐标转化成百度坐标;
上门连接是坐标转换工具;pod倒入非常方便;
php后台方面也遇到了相关问题:

//上传我的位置信息 
function uploadMyLocation(){ 
     $dataLocationString=input('locations');          
     $dataLocationJSON=json_decode($dataLocationString); 
}

   //PS:困扰一上午的节点 插数据库就是插不进去,是因为jsondecode转化过来的对象里面是 std Obj的对象 不是数组  

打印输出结果:
 /*  

array(1) { [0]=> array(3) { ["longitude"]=> float(162.6226345) ["latitude"]=>   float(31.26238) ["datestamp"]=> int(8888) } }
   array(1) { [0]=> object(stdClass)#77 (3) { ["datestamp"]=> float(1626225641.93)   ["latitude"]=> float(31.26238) ["longitude"]=> float(121.61608) } }  

 */

  $resultJsonArray = array();  for ($i=0; $i <count($dataLocationJSON); $i++)   {          
  $array = (array)$dataLocationJSON[$i];    $resultJsonArray[]=$array;  }
  #debug  $data =         
                [['longitude'=>162.6226345,'latitude'=>31.26238,'datestamp'=>8888] ];     
  var_dump($resultJsonArray);  
  $resultCode=Db::table('myLocationTable')->insertAll($resultJsonArray);
  return $this->APIJsonRes($resultCode,'success',['1'=>$data,'2'=>$resultJsonArray]);
 }


#######################下面是前端和后端配合的代码##################

{volist name="locationArray" id="locationItem"}
    new BMapGL.Point({$locationItem.longitude},{$locationItem.latitude}) 
{/volist}


总结:

1.先开发iOS端数据的收集,以及后台收集,把GPS转成百度地图的坐标;

2.开发服务端,数据上传保存数据库;查询locations的数据库;

3. 利用百度地图的javaScrip SDK前端负责页面的显示;






 

百度地图iOS SDK v2.10.0 Sample共有23个Demo,每个Demo的说明如下: ------------------------------------------------------------------------------------- 一、 Demo名称:基本地图功能 文件名: MapViewBaseDemoViewController.mm 简介:创建一张百度地图并管理地图的生命周期 详述: (1)创建一张最简单的百度地图; (2)管理地图的生命周期,具体请参看代码部分的相关注释; ------------------------------------------------------------------------------------- 二、 Demo名称:多地图展示功能 文件名: MultiMapViewDemo.mm 简介:在一个页面中创建多个地图 详述: (1)在一个页面内创建多个相互独立的地图 (2)地图Logo位置变更,支持6个位置 ------------------------------------------------------------------------------------- 三、 Demo名称:图层展示功能 文件名: MapViewDemoViewController.mm 简介:展示普通图、卫星图、路况图和路况卫星图 详述: (1)详情请参考代码部分或官网开发指南相关章节; ------------------------------------------------------------------------------------- 四、 Demo名称:地图操作功能 文件名: MapViewControlDemoViewController.mm 简介:介绍平移和缩放地图,双指操作地图,监听地图点击事件 详述: (1)介绍地图缩放级别、旋转度和俯视度的get和set方法; (2)监听单击、双击和长按地图事件; (3)单击、双击或长按地图获取该点的经纬度坐标; (4)对地图显示内容进行截图; ------------------------------------------------------------------------------------- 五、 Demo名称:UI控制功能 文件名: MapViewUISettingDemoViewController.mm 简介:介绍开关手势功能和显示隐藏UI控件 详述: (1)地图操作开关:平移、缩放; (2)控件显示开关:显示/隐藏比例尺控件; (3)指南针位置控制:显示在地图左上角或者右上角(仅举例),开发者可据实际情况任意改变位置; (4)禁用所有手势:控制是否一并禁止所有手势。 (5)设置边界区域:给地图增加边界。地图可操作区域和控件显示,都被限制在地图设定的边界内; (6)您还可以参照开发文档控制比例尺的显示位置; ------------------------------------------------------------------------------------- 六、 Demo名称:定位功能 文件名: LocationDemoViewController.mm 简介:介绍定位图层的基本用法 详述: (1)介绍如何开始定位和停止定位; (2)默认定位的状态显示为普通态,v2.0.2版本开始提供定位的跟随态和罗盘态; (3)开发者可以自己修改icon_center_point.png和icon_center_point@2x.png资源修改默认的定位图标; (4)支持开发者自行定义精度圈边框和填充区域的颜色。 ------------------------------------------------------------------------------------- 七、 Demo名称:覆盖物功能 文件名: AnnotationDemoViewController.mm 简介:介绍使用SDK内置方法绘制点线面等几何图形和如何添加标注 详述: (1)内置覆盖物标签: a、使用内置方法绘制几何图形; b、通过BMKMapView的addOverlay接口添加一个覆盖物; c、开发者可以实现BMKMapViewDelegate中mapView:viewForOverlay;接口,提供要添加到地图中的 标注的BMKOverlayView,开发者可以扩展此类丰富更多的功 (2)添加标注标签: a、给标注添加落下的动画效果,点击标注可弹出对话框,还可以拖拽标注; b、通过BMKMapView的addAn
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值