Hbuider hybrid app开发之地图操作方法
来源:互联网 发布:windows访问共享文件夹 编辑:程序博客网 时间:2024/05/18 01:13
var map = null;var zoom = 13;//缩放值function creatMap(data,ws){//创建地图---data:一些地图设置参数 如图标、中心点经纬度 if (!ws) {return}; wo = ws.opener(); map = new plus.maps.Map("map"); if(!data){ userLocation();//定位当前用户位置 console.log("userLocation"); }else{ pcenter = new plus.maps.Point(data.pcenter_long,data.pcenter_lin); console.log("pcenter---"+JSON.stringify(pcenter)); var marker = new plus.maps.Marker(pcenter); marker.setIcon(data.Icon); marker.setLabel(data.Lable); var bubble = new plus.maps.Bubble(data.Bubble); marker.setBubble(bubble); map.addOverlay(marker); map.centerAndZoom(pcenter,data.zoom || zoom); }}function showPoints(points) {//显示位置点 if(!map){return} for(var i=0;i<points.length;i++){ var point = new plus.maps.Point(points[i].lon,points[i].lin); var marker = new plus.maps.Marker(point); console.log(points[i].lon); marker.setIcon(points[i].Icon); marker.setLabel(points[i].Lable); var bubble = new plus.maps.Bubble(points[i].Bubble); marker.setBubble(bubble); map.addOverlay(marker); }}function showLine(pointsJson){//创建一条折线 if(!map){return} var polylineObj = null,points = new Array(); for(var i=0;i<pointsJson.length;i++){ points[i] = new plus.maps.Point(pointsJson[i].lon,pointsJson[i].lin); } polylineObj = new plus.maps.Polyline(points); polylineObj.setStrokeOpacity( 0.6 ); // 设置折线为半透明 polylineObj.setLineWidth(5);// 设置折线宽度 console.log(JSON.stringify(polylineObj)); map.addOverlay(polylineObj);}function showGon(pointsJson){//创建一个多边形对象 var polygonObj = null,points = new Array(); for(var i=0;i<pointsJson.length;i++){ points[i] = new plus.maps.Point(pointsJson[i].lon,pointsJson[i].lat); } polygonObj = new plus.maps.Polygon(points); map.addOverlay(polygonObj);}function navigation(point){//导航 调用第三方 var point = {"des":"导航描述","dstlon":116.39131928,"dstlin":39.90793074,"srclon":116.335,"srclin":39.966}; var dst = new plus.maps.Point(point.dstlon,point.dstlin); var src = new plus.maps.Point(point.srclon,point.srclin); plus.maps.openSysMap(dst,point.des,src);// 调用系统地图显示 }function drivingSearch(points){//驾车路线检索 var searchObj = new plus.maps.Search(map); var startP = new plus.maps.Point(points.startLon,points.startLat); var endP = new plus.maps.Point(points.endLon,points.endLat); var startC = points.startCity,endC = points.endCity; searchObj.onRouteSearchComplete = function (state,result) { console.log("onRouteSearchComplete: "+state+" , "+result.routeNumber); if ( state == 0 ) { if ( result.routeNumber <= 0 ) {alert( "没有检索到结果" );} for(var i=0; i<result.routeNumber; i++){ if(i==1){ map.addOverlay(result.getRoute(i)); console.log(result.getRoute(i).distance); return; }} } else {alert( "检索失败" );} } searchObj.setDrivingPolicy(plus.maps.SearchPolicy.DRIVING_DIS_FIRST);//驾车策略 距离最短 searchObj.drivingSearch(startP,startC,endP,endC);}function userLocation() {//当前用户定位 if(null == map){return}; map.showUserLocation(true); map.getUserLocation(function(state, pos) { if (0 == state) { map.setZoom(zoom); console.log(JSON.stringify(pos)); map.setCenter(pos); } });}function resetMap(map) {//重置地图 //map.centerAndZoom(pcenter,12); map.reset();}/** * @description 城市中关键词搜索 并显示在地图上 * */ function searchAndShowOnMap(city,key){ var address = null; if(!map){return} var searchObj = new plus.maps.Search(map); console.log("search.."+searchObj); searchObj.poiSearchInCity(city,key); searchObj.onPoiSearchComplete = function(state,result){ console.log("onPoiSearchComplete: "+state+" , "+result.currentNumber); if ( state == 0 ) { if ( result.currentNumber <= 0 ) { mui.alert("没有检索到结果"); } for(var i=0; i<result.currentNumber; i++){// 将检索到的第一条信息作为标点添加到地图中 var pos = result.getPosition(0); console.log(JSON.stringify(pos.address)); address = pos.address; var marker = new plus.maps.Marker( pos.point ); map.setCenter(pos.point); marker.setLabel(pos.name); map.addOverlay(marker); break; } }else{ mui.alert( "检索失败" ); } }}
1 0
- Hbuider hybrid app开发之地图操作方法
- Hbuider hybrid app开发之地图位置信息操作方法
- Hbuider hybrid app 开发之上传图片
- Hbuider hybrid app开发之检查网络等js方法
- Hbuider hybrid app开发之js常用方法
- Hbuider hybrid app 开发之获取手机电量
- Hbuider hybrid app开发细节积累
- Hbuider hybrid app 开发优化指南
- Hbuider hybrid app开发---被预加载的页面无法在mui.init中去成功预加载其他页面的问题
- phonegap开发hybrid app
- Hybrid App开发实战
- hybrid app开发实战
- Hybrid App开发
- Hybrid app开发总结
- Hybrid App开发实战
- Hybrid App开发实战
- Hybrid App 混合式开发
- hybrid app开发工具
- Hive框架中reduce number的计算
- java.util.ConcurrentModificationException错误
- 添物不花钱学JavaEE(基础篇)-综述
- 模拟取款
- linux之svn回滚/回退到某个版本
- Hbuider hybrid app开发之地图操作方法
- java泛型
- poj3660 Cow Contest
- reinterpret_cast <new_type> (expression)
- 编辑器扩展
- 【交换机】日志服务器无法接收到交换机发送的syslog日志故障的常规排查思路
- C++学习之路(2) C++输入输出 new delete操作符 函数重载
- Java常用排序算法/程序员必须掌握的8大排序算法
- 大学排名-Collections