货车地图 您所在的位置:网站首页 货车车头图标 货车地图

货车地图

2024-03-27 21:32| 来源: 网络整理| 查看: 265

使用产品

该示例主要用于货车场景,向开发者展示如何快速将货车核心地图数据快速展示在地图上。

用到产品

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 实验室设备网 版权所有