0

您好我正在开发小型 android 应用程序,我想在其中显示地图和地图上的一些标记。我有 latlang 值列表,我想在地图上显示它。我通过以下方式尝试了这个:

for(int pin=0; pin<pins.size(); pin++)
            {
                LatLng pinLocation = new LatLng(Float.parseFloat(pins.get(pin).latitude), Float.parseFloat(pins.get(pin).longitude));
                Marker storeMarker = map.addMarker(new MarkerOptions()
                .position(pinLocation)
                .title(pins.get(pin).pinname)
                .snippet(pins.get(pin).address)
                );
            }

所以我的问题是,当我尝试上述方法时,它只显示最后一个标记而不显示所有标记。这个怎么做。需要帮忙。谢谢你。

4

4 回答 4

2
    for(int pin=0; pin<pins.size(); pin++)
                {
                    LatLng pinLocation = new LatLng(Float.parseFloat(pins.get(pin).latitude), Float.parseFloat(pins.get(pin).longitude));
                    Marker storeMarker = map.addMarker(new MarkerOptions()
                    .position(pinLocation )-->here i had made some changes add "pinLocation" instead of "storeLocation"
                    .title(pins.get(pin).pinname)
                    .snippet(pins.get(pin).address)
                    );
                }

> and after first check size of pins.size() ..
于 2013-09-16T11:49:32.627 回答
1

你可以这样使用:

for (int i = 0; i < pins.size(); i++) {

 double lati=Double.parseDouble(pins.get(i).latitude);
 double longLat=Double.parseDouble(pins.get(i).longitude);
 MAP.addMarker(new MarkerOptions().
 position(
 new LatLng(lati,longLat)).title(pins.get(i).pinname).snippet(pins.get(i).address));


 }
于 2013-09-16T12:13:17.137 回答
0
for (int i = 0; i < ComponentMapList.size(); i++) {
                    String city = ComponentMapList.get(i).getCity();
                    if (city != null) {
                        center = CameraUpdateFactory.newLatLng(new LatLng(
                                ComponentMapList.get(i).getLat(),
                                ComponentMapList.get(i).getLng()));
                        mMap.addMarker(new MarkerOptions().position(
                                new LatLng(ComponentMapList.get(i).getLat(),
                                        ComponentMapList.get(i).getLng()))
                                .title(city));
                    }
                }
于 2013-09-16T12:01:50.960 回答
0

使用如下共享首选项

  // Opening the sharedPreferences object
        sharedPreferences = getSharedPreferences("location", 0);

        // Getting number of locations already stored
        locationCount = sharedPreferences.getInt("locationCount", 0);

        // Getting stored zoom level if exists else return 0
        String zoom = sharedPreferences.getString("zoom", "0");

        // If locations are already saved
        if(locationCount!=0){

            String lat = "";
            String lng = "";

            // Iterating through all the locations stored
            for(int i=0;i<locationCount;i++){

                // Getting the latitude of the i-th location
                lat = sharedPreferences.getString("lat"+i,"0");

                // Getting the longitude of the i-th location
                lng = sharedPreferences.getString("lng"+i,"0");

                // Drawing marker on the map
                drawMarker(new LatLng(Double.parseDouble(lat), Double.parseDouble(lng)));
            }

标记标记:

             SharedPreferences.Editor editor = sharedPreferences.edit();

            // Storing the latitude for the i-th location
            editor.putString("lat"+ Integer.toString((locationCount-1)), Double.toString(point.latitude));

            // Storing the longitude for the i-th location
            editor.putString("lng"+ Integer.toString((locationCount-1)), Double.toString(point.longitude));

            // Storing the count of locations or marker count
            editor.putInt("locationCount", locationCount);

            /** Storing the zoom level to the shared preferences */
            editor.putString("zoom", Float.toString(googleMap.getCameraPosition().zoom));

            /** Saving the values stored in the shared preferences */
            editor.commit();

            Toast.makeText(getBaseContext(), "Marker is added to the Map", Toast.LENGTH_SHORT).show();

参考这个...源代码可用

于 2013-09-16T11:53:30.043 回答