来来来,用高德地图实现ofo小黄车地图定位
2017-05-19 18:19
666 查看
1、直接上图,看看效果,拖动定位可重新加载附近小车位置
2、所用技术:高德地图API,es6的class、promise等
3. 下面来一步步说明下实现思路:
(1)先初始化渲染高德地图,这里面用到两个高德地图比较重要的方法:
new PositionPicker :拖拽定位
new AMap.Marker : 多点渲染
(2)初始化定位数据
用户的定位坐标:可由前端获取,传递给后端,或者由后端传入
自行车的坐标数组 :由后端传入
(3)如果用户拖拽定位杆,待拖拽结束后,将用户新坐标位置,发送给后端,重新获取周围自行车的坐标数组,代码示例一下重要过程
拖拽定位杆结束:
渲染自行车数组坐标时:
这里有一点需要注意:因为全局是用的一个map对象,所有每次重新渲染自行车坐标前,都是清除上次渲染的坐标,不然地图上面就会重叠
demo已经上传到github,感兴趣的小伙伴可以先去看看:https://github.com/chuanzaizai/ofo-map
2、所用技术:高德地图API,es6的class、promise等
3. 下面来一步步说明下实现思路:
(1)先初始化渲染高德地图,这里面用到两个高德地图比较重要的方法:
new PositionPicker :拖拽定位
new AMap.Marker : 多点渲染
(2)初始化定位数据
用户的定位坐标:可由前端获取,传递给后端,或者由后端传入
自行车的坐标数组 :由后端传入
(3)如果用户拖拽定位杆,待拖拽结束后,将用户新坐标位置,发送给后端,重新获取周围自行车的坐标数组,代码示例一下重要过程
拖拽定位杆结束:
// 拖动结束,成功获取用户选中的经纬度 positionPicker.on('success', function(positionResult) { // 未能成功获取数据,退出函数 if(!positionResult) return; document.getElementById('lnglat').innerHTML = positionResult.position; // 请求后台开始渲染自行车位置 var bike = new Bike(positionResult.position.lng, positionResult.position.lat, map); bike.getBikePosition().then((data) => { if(data && data.length >= 1){ bike.renderBike(data); } }) });
渲染自行车数组坐标时:
这里有一点需要注意:因为全局是用的一个map对象,所有每次重新渲染自行车坐标前,都是清除上次渲染的坐标,不然地图上面就会重叠
renderBike(bikePositions = []) { // 清除上一次定位绘制的自行车点 this.map.remove(markers); markers = []; bikePositions.forEach((bikePosition) => { let marker = new AMap.Marker({ map: this.map, icon: bikePosition.icon, position: [bikePosition.lng, bikePosition.lat], offset: new AMap.Pixel(-12, -36) }); markers.push(marker); }); }
demo已经上传到github,感兴趣的小伙伴可以先去看看:https://github.com/chuanzaizai/ofo-map
相关文章推荐
- Android 使用高德地图简单实现地图定位
- Android简单实现 高德地图的定位与显示,点击按钮切换地图图层
- Android Study 之玩转高德地图一部曲[实现显示地图以及定位功能]
- 基于高德地图实现移动互联网地图定位自动检索系统
- [置顶] 手把手叫你如何集成高德地图,实现地图显示、定位蓝点、大头针显示、获取周围地点信息等
- android ---------高德地图实现定位和3D地图显示
- android+高德地图实现基本地图和基本定位功能
- Android简单实现 高德地图的定位与显示,点击按钮切换地图图层
- 高德地图android sdk 地图显示和定位 基本使用方法
- Google Map API 结合PHP实现登录地图定位
- 百度地图开发--实现打开地图自动定位到上次定位点然后在定位到自己的位置
- 地图定位实现,地图平移自动
- [转贴]JAVA 百度地图SDK地图学习——实现定位功能
- 【第三方SDK】百度地图实现最简单的定位功能(无地图界面)
- html5实现地图上定位导航路线
- 百度地图之---定位实现 并显示定位结果地图
- iOS实现地图定位(具体实现代码以及注释详解)
- 调用百度地图实现在地图上定位
- iOS- 用MapKit和CoreLocation 来实现移动设备(地图与定位)
- Google Maps API v2密钥申请以及实现地图定位导航