android - 在android中的json请求的所有标记之间绘制折线
问题描述
我正在android中创建一个hicking应用程序,到目前为止,我可以插入我的路径,沿着我想要创建的方式插入各种标记,现在我想在我从我的mysql数据库获得的标记之间绘制一条折线。希望有一些关于我可以在标记之间画线的最佳方式的指南。
public void getCoordsId(final String id_trilho) {
RequestQueue requestQueue = Volley.newRequestQueue(MapsActivity.this);
StringRequest stringRequest = new StringRequest(Request.Method.POST, urlget,
new Response.Listener<String>() {
LatLng location;
@Override
public void onResponse(String response) {
System.out.println(response);
Toast.makeText(MapsActivity.this, "boa entrou", Toast.LENGTH_LONG).show();
try {
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"));
location = new LatLng(lat,lng);
MarkerOptions options = new MarkerOptions();
options.position(location);
mMap.addMarker(options);
}
} catch (JSONException e) {
e.printStackTrace();
}
基本上我在单击按钮时得到标记,我想知道如何添加线条。
感谢您提前提供任何帮助
解决方案
首先,您将所有 lat lng 保存在数据结构中。让我们说一个ArrayList<LatLng>
. 然后将其传递给以下函数(基本上是来自此链接的复制粘贴):
private void createPolylinesFromLatLng(ArrayList<LatLng> list){
if(myMap != null && list != null && list.size > 0){
PolylineOptions options = new PolylineOptions().width(5).color(Color.BLUE).geodesic(true);
for (LatLng z : list) {
LatLng point = list.get(z);
options.add(point);
}
line = myMap.addPolyline(options);
}
}
推荐阅读
- python - How to Add line Number in this TextEditor
- database - Is it bad practice to expose a function which creates table on live production database
- excel - 如果两个单元格值匹配,则公式应从第三个单元格返回数据作为我的答案
- android - 当我限制对 SSL/HTTPS 请求的 Internet 访问时,加载 Google 地图时出现问题
- php - PHP:Adobe Reader 无法打开使用 fpdf 创建的 PDF 文件
- android - 为 SearchView 设置 maxLength
- python-2.7 - 如何计算 1 行 2 列的乘积?
- ios - 为什么全局变量的地址变了
- python - 在 IBM Watson node.js 聊天机器人中运行 python 脚本
- c++ - 传递 const 丢弃限定符