货车地图 | 您所在的位置:网站首页 › 货车车头图标 › 货车地图 |
使用产品 该示例主要用于货车场景,向开发者展示如何快速将货车核心地图数据快速展示在地图上。 用到产品Android 地图 SDK 核心类/接口类 接口 说明 版本 PoiSearch.Query Query(String query, String ctgr) 构造函数,构造Poi查询参数对象 V2.0.0版本起 PoiSearch PoiSearch(Context context, Query query) 构造函数,根据给定的参数构造一个PoiSearch 的新对象 V2.0.0版本起 PoiSearch.OnPoiSearchListener PoiSearch.OnPoiSearchListener 返回POI搜索结果 V2.0.0版本起 AMap.setTrafficEnabled AMap.setTrafficEnabled 设置是否打开交通路况图层 V2.0.0版本起 AMap.addMarker AMap.addMarker 在地图上添一个图片标记(marker)对象 V2.0.0版本起 AMap.addPolygon AMap.addPolygon 在地图上添加一个多边形(polygon)对象 V2.0.0版本起 AMap.addPolyline addPolyline(PolylineOptions options) 在地图上添加一个折线对象(polyline) V2.0.0版本起 核心难点1.POI周边查询 a)通过 PoiSearch.Query("", type, "北京") 方法构建查询对象,其中type为查询的类型,这个有"加油站" 和"汽车维修|汽车综合维修"两种; b)通过PoiSearch(this, query) 根据给定的参数构造一个PoiSearch 的新对象; c)查询结果通过onPoiSearched(PoiResult result, int rCode)接口返回,根据result.getQuery().getCategory() 判断返回的是查询类型,比如是前面查询的"加油站" 还是"汽车维修|汽车综合维修"。 2. 限行区域polygon和polyline a)解析数据 Javabyte[] buffer = utils.openAsset(mContext, "Trucklimit.txt"); String string = new String(buffer); Gson gson = new Gson(); TruckLimitAreaRequest truckLimitAreaRequest = gson.fromJson(string,TruckLimitAreaRequest.class );b)获取线及多边形区域 Javafor (int i = 0; i < truckLimitAreaRequest.getAreas().size(); i++) { ArrayList areaList = new ArrayList(); TruckLimitAreaRequest.AreasBean areasBean = truckLimitAreaRequest.getAreas().get(i); String area = areasBean.getArea(); if (!TextUtils.isEmpty(area)) { String[] latlanString = area.split(";"); for (String s : latlanString) { String[] ll = s.split(","); if (ll.length != 2) { continue; } areaList.add(new LatLng(Double.parseDouble(ll[1]),Double.parseDouble(ll[0]))); } } areaLists.add(areaList); String lines = areasBean.getLine(); if (!TextUtils.isEmpty(lines)) { if (lines.contains("|")) { String[] lineArray = lines.split("\\|"); for ( String strLine : lineArray) { ArrayList lineList = new ArrayList(); String[] latlanString = strLine.split(";"); for (String s : latlanString) { String[] ll = s.split(","); if (ll.length != 2) { continue; } double test1 = Double.parseDouble(ll[0]); double test2 = Double.parseDouble(ll[1]); lineList.add(new LatLng(test2,test1)); } lineLists.add(lineList); } } else { ArrayList lineList = new ArrayList(); String[] latlanString = lines.split(";"); for (String s : latlanString) { String[] ll = s.split(","); if (ll.length != 2) { continue; } double test1 = Double.parseDouble(ll[0]); double test2 = Double.parseDouble(ll[1]); lineList.add(new LatLng(test2,test1)); } lineLists.add(lineList); } } }c)向地图中加入线及多边形区域 Java for (int i = 0; i < areaLists.size(); i ++) { PolygonOptions polygonOptions = new PolygonOptions(); polygonOptions.addAll(areaLists.get(i)); polygonOptions.strokeColor(Color.RED); polygonOptions.fillColor(Color.parseColor("#88EEAAAA")); polygonOptions.strokeWidth(5); mAMap.addPolygon(polygonOptions); } for (int i = 0; i < lineLists.size(); i++) { ArrayList line = lineLists.get(i); PolylineOptions polylineOptions = new PolylineOptions(); polylineOptions.addAll(line); polylineOptions.color(Color.RED); polylineOptions.width(5); mAMap.addPolyline(polylineOptions); } |
CopyRight 2018-2019 实验室设备网 版权所有 |