如何使用 JSON 纬度数组和 JSON 经度数组在 Google 地图上显示折线?
Posted
技术标签:
【中文标题】如何使用 JSON 纬度数组和 JSON 经度数组在 Google 地图上显示折线?【英文标题】:How to show a polyline on Google map using JSON array of latitude and JSON array of longitude? 【发布时间】:2018-08-18 06:25:09 【问题描述】:我正在制作一个需要在 Google 地图上显示一条线的应用。折线的坐标位于单独的 JSON 数组中——一个数组代表纬度,一个数组代表经度。我的问题是如何从 JSON url 获取数据并在地图上显示折线? 这是我的 JSON 结构:
“1”: “id”:”1”,"lat_list":[43.193850940837,43.193553712737,43.193225195784,43.193131333473,43.193146977202],"lng_list":[23.284599781036,23.28423500061,23.28382730484,23.283634185791,23.283518850803]
提前谢谢你!
【问题讨论】:
如果您控制源数据,我建议更好的数据结构会有所帮助 @RamRaider 感谢您的回复!请你能给我一个更好的数据结构的例子吗? 【参考方案1】:我希望这会有所帮助,您应该注意将 ”
和 “
替换为 "
。您还可以查看google map polyline and polygon tutorial,了解有关谷歌地图多边形的更多详细信息。
try
JSONObject obj = new JSONObject("\"1\": \"id\":\"1\",\"lat_list\":[43.193850940837,43.193553712737,43.193225195784,43.193131333473,43.193146977202],\"lng_list\":[23.284599781036,23.28423500061,23.28382730484,23.283634185791,23.283518850803]");
JSONObject obj2 = obj.getJSONObject("1");
JSONArray lat_list = obj2.getJSONArray("lat_list");
JSONArray lng_list = obj2.getJSONArray("lng_list");
PolylineOptions polyLineOptions = new PolylineOptions()
.clickable(true);
for (int i = 0; i < lat_list.length() && i < lng_list.length(); i++)
double lat = lat_list.getDouble(i);
double lng = lng_list.getDouble(i);
polyLineOptions.add(lat, lng);
googleMap.addPolyline(polyLineOptions);
catch (JSONException e)
e.printStackTrace();
【讨论】:
以上是关于如何使用 JSON 纬度数组和 JSON 经度数组在 Google 地图上显示折线?的主要内容,如果未能解决你的问题,请参考以下文章
如何在javascripts中按经纬度距离对数组项进行排序?
如何通过对vue js中的每个搜索结果使用模态在谷歌地图上显示json数据获得的纬度和经度?