如何在Android Studio中使用JSON在谷歌地图片段上添加多个标记

切赫·艾哈迈德·泰迪安·恩迪亚耶

我需要在片段活动中的Google地图上添加多个标记。

这是我当前的代码:

 public View onCreateView(@NonNull LayoutInflater inflater,
                          ViewGroup container, Bundle savedInstanceState) {
     galleryViewModel =
             new ViewModelProvider(this).get(GalleryViewModel.class);
     View view = inflater.inflate(R.layout.fragment_gallery, container, false);

     arrayList = new ArrayList<>();

     SupportMapFragment mapFragment = (SupportMapFragment) getChildFragmentManager()
             .findFragmentById(R.id.map);
     mapFragment.getMapAsync(this::onMapReady);
     
     ProgressDialog progressDialog = new ProgressDialog(getActivity());
     progressDialog.setMessage("Chargemnt des données en cours...");
     progressDialog.show();

     RequestQueue requestQueue = Volley.newRequestQueue(getActivity());
     String url="http://emc2-cloud.com:8079/API/login";
     StringRequest stringRequest = new StringRequest(Request.Method.POST, url, new Response.Listener<String>() {
         @Override
         public void onResponse(String response) {
             progressDialog.dismiss();
             JSONObject responselog2 = null;
             try {
                 responselog2 = new JSONObject(response);
                 JSONObject logincolier = responselog2.getJSONObject("colier");
                /* latitude_maison = logincolier.getString("latitude_maison");
                 longitude_maison = logincolier.getString("longitude_maison");*/

                 liste_colier = logincolier.getJSONArray("donnes_colier");
                 for (int k = 0; k<liste_colier.length(); k++){

                     JSONObject colierliste = liste_colier.getJSONObject(k);

                     detail_distance = colierliste.getString("distance");
                     vitesse = colierliste.getString("vitesse");
                     detail_latitude = colierliste.getDouble("latitude");
                     nom_colier = colierliste.getString("nom_colier");
                     detail_longitude = colierliste.getDouble("longitude");
                     etat_colier = colierliste.getString("etat_colier");                        
                 }
             } catch (JSONException e) {
                 e.printStackTrace();
             }

         }
     }, new Response.ErrorListener() {
         @Override
         public void onErrorResponse(VolleyError error) {
             test.setTextColor(Color.RED);
             test.setText("Connexion échouée");
         }
     }){
         @Override
         protected Map<String,String> getParams(){
             Map<String,String> params=new HashMap<String, String>();
             params.put("username",identifiant.getText().toString());
             params.put("password",mot_de_passe.getText().toString());
             return params;
         }

     };
     requestQueue.add(stringRequest);

 public void onMapReady(GoogleMap googleMap) {
      mMap = googleMap;
      customMarker = BitmapDescriptorFactory.fromResource(R.drawable.teteboeuf);

     colier = new LatLng(detail_latitude,detail_longitude);

      mMap.addMarker(new MarkerOptions().position(colier).title(MainActivity.nom_colier).snippet("Vitessedu colier : "+MainActivity.vitesse+" km").icon(customMarker));
      mMap.moveCamera(CameraUpdateFactory.newLatLng(colier));
      mMap.setOnInfoWindowClickListener(new GoogleMap.OnInfoWindowClickListener() {
          @Override
          public void onInfoWindowClick(Marker marker) {
              Intent intent = new Intent(getActivity(),DetailColier.class);
              startActivity(intent);
          }
      });
 }
自在

你可以这样

                for (int k = 0; k<liste_colier.length(); k++){

                    JSONObject colierliste = liste_colier.getJSONObject(k);

                    detail_distance = colierliste.getString("distance");
                    vitesse = colierliste.getString("vitesse");
                    detail_latitude = colierliste.getDouble("latitude");
                    nom_colier = colierliste.getString("nom_colier");
                    detail_longitude = colierliste.getDouble("longitude");
                    etat_colier = colierliste.getString("etat_colier");
                    addMarker(detail_latitude ,detail_longitude)

                }

在您的活动中定义此方法。

void addMarker(Double latitude, Double longitude){
     LatLng latLong = new LatLng(Double latitude, Double longitude)
     if(mMap!=null{
            mMap.addMarker(new MarkerOptions().position(latLong))
     }
}

要向标记添加标题和其他信息,请参阅Marker Official Google Doc

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在谷歌地图上添加多个标记?

来自分类Dev

如何在android上的地图片段上设置谷歌地图填充?而且我不想拖动地图

来自分类Dev

如何在Activity上添加多个片段的同时划分android的操作栏

来自分类Dev

在Android中使用地图片段存储和加载地图标记

来自分类Dev

地图片段无法在Android中使用

来自分类Dev

如何在Android上的ArcGIS地图中添加标记?

来自分类Dev

如何在滚动视图中设置谷歌地图片段

来自分类Dev

配置更改时如何在地图片段上保留标记?

来自分类Dev

如何在 Android Studio 的片段中使用微调器

来自分类Dev

如何在移动 android studio google maps 中查看谷歌地图中的其他标记

来自分类Dev

如何在Google地图片段Android Studio中导入KML多边形文件

来自分类Dev

如何在 android studio 上使用包(当你点击一个按钮,它直接打开到谷歌地图应用程序)在谷歌地图上添加针点

来自分类Dev

如何在Android上的谷歌地图上设置固定图像

来自分类Dev

如何在谷歌地图上显示多个标记

来自分类Dev

如何在谷歌地图上显示多个标记

来自分类Dev

地图片段无法在Android4.4 kitkat中使用

来自分类Dev

如何在Android Studio上添加VitamioDependecny

来自分类Dev

如何在地图的同一键上添加多个值

来自分类Dev

如何在地图中的同一键上添加多个值

来自分类Dev

如何在谷歌地图上添加信息窗口和标记

来自分类Dev

如何在AIR for Android中添加多个页面

来自分类Dev

如何在图片的不同位置添加多个文本?

来自分类Dev

如何在地图视图中添加多个注释

来自分类Dev

如何在Android Studio中使用断言

来自分类Dev

如何在Android Studio中使用BoofCV?

来自分类Dev

如何在Android Studio中使用BoofCV?

来自分类Dev

如何在Android Studio中使用Pocketsphinx

来自分类Dev

如何在 Android Studio 中使用 ObservableList?

来自分类Dev

在Android的Mapbox地图上添加多个标记,无法将源添加到mapboxMap

Related 相关文章

  1. 1

    如何在谷歌地图上添加多个标记?

  2. 2

    如何在android上的地图片段上设置谷歌地图填充?而且我不想拖动地图

  3. 3

    如何在Activity上添加多个片段的同时划分android的操作栏

  4. 4

    在Android中使用地图片段存储和加载地图标记

  5. 5

    地图片段无法在Android中使用

  6. 6

    如何在Android上的ArcGIS地图中添加标记?

  7. 7

    如何在滚动视图中设置谷歌地图片段

  8. 8

    配置更改时如何在地图片段上保留标记?

  9. 9

    如何在 Android Studio 的片段中使用微调器

  10. 10

    如何在移动 android studio google maps 中查看谷歌地图中的其他标记

  11. 11

    如何在Google地图片段Android Studio中导入KML多边形文件

  12. 12

    如何在 android studio 上使用包(当你点击一个按钮,它直接打开到谷歌地图应用程序)在谷歌地图上添加针点

  13. 13

    如何在Android上的谷歌地图上设置固定图像

  14. 14

    如何在谷歌地图上显示多个标记

  15. 15

    如何在谷歌地图上显示多个标记

  16. 16

    地图片段无法在Android4.4 kitkat中使用

  17. 17

    如何在Android Studio上添加VitamioDependecny

  18. 18

    如何在地图的同一键上添加多个值

  19. 19

    如何在地图中的同一键上添加多个值

  20. 20

    如何在谷歌地图上添加信息窗口和标记

  21. 21

    如何在AIR for Android中添加多个页面

  22. 22

    如何在图片的不同位置添加多个文本?

  23. 23

    如何在地图视图中添加多个注释

  24. 24

    如何在Android Studio中使用断言

  25. 25

    如何在Android Studio中使用BoofCV?

  26. 26

    如何在Android Studio中使用BoofCV?

  27. 27

    如何在Android Studio中使用Pocketsphinx

  28. 28

    如何在 Android Studio 中使用 ObservableList?

  29. 29

    在Android的Mapbox地图上添加多个标记,无法将源添加到mapboxMap

热门标签

归档