android谷歌地图json中的标记
Posted
技术标签:
【中文标题】android谷歌地图json中的标记【英文标题】:Markers in android google maps json 【发布时间】:2018-11-24 08:12:24 【问题描述】:我有一个 Hicking 应用程序,它从我的数据库中获取一组标记并将它们绘制在我的地图上,然后绘制一条连接所有标记的折线。我想要做的是,绘制连接标记的折线,而不是显示 10 或 20 或 100 个标记,只显示 2,即开始的标记和结束的标记。
不胜感激。 下面是我用来绘制折线的函数。
private void createPolylinesFromLatLng(ArrayList<LatLng> polylist)
PolylineOptions options = new PolylineOptions().width(5).color(Color.BLUE).geodesic(true);
for (int z = 0; z < polylist.size(); z++)
LatLng point = polylist.get(z);
options.add(point);
totalDistanceInMeters = SphericalUtil.computeLength(polylist);
test=String.format("%.2f",totalDistanceInMeters);
这就是我将标记检索到数组中的方式
JSONArray array = new JSONArray(response);
for (int i = 0; i < array.length(); i++)
JSONObject jo = array.getJSONObject(i);
Double lat = Double.parseDouble(jo.getString("lat"));
Double lng = Double.parseDouble(jo.getString("lon"));
polyline = new LatLng(Double.parseDouble(jo.getString("lat")),
Double.parseDouble(jo.getString("lon")));
polylist.add(polyline);
// location = new LatLng(lat,lng);
location=polyline;
MarkerOptions options = new MarkerOptions();
options.position(location);
mMap.addMarker(options);
谢谢
【问题讨论】:
【参考方案1】:这样做的一种方法是在您添加 Marker
的代码周围加上 if
语句,如下所示:
if(i == 0 || i == (array.length() - 1))
MarkerOptions options = new MarkerOptions();
options.position(location);
mMap.addMarker(options);
这样只会添加第一个位置和最后一个位置。
【讨论】:
以上是关于android谷歌地图json中的标记的主要内容,如果未能解决你的问题,请参考以下文章