Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/229.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/haskell/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Android中的Google地图上只加载两个标记_Android_Google Maps_Google Maps Markers - Fatal编程技术网

在Android中的Google地图上只加载两个标记

在Android中的Google地图上只加载两个标记,android,google-maps,google-maps-markers,Android,Google Maps,Google Maps Markers,我只需要在googlemap上加载两个标记,但加载了多个标记 下面是我的代码: public class MainActivity extends FragmentActivity { GoogleMap map; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); se

我只需要在
googlemap
上加载两个标记,但加载了多个标记

下面是我的代码:

public class MainActivity extends FragmentActivity {
        GoogleMap map;

        @Override
        protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        // Getting reference to SupportMapFragment of the activity_main
        SupportMapFragment fm = (SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map);

        // Getting Map for the SupportMapFragment
        map = fm.getMap();

        if (map != null) {

            // Enable MyLocation Button in the Map
            if (ActivityCompat.checkSelfPermission(this, android.Manifest.permission.ACCESS_FINE_LOCATION) != 
                                                    PackageManager.PERMISSION_GRANTED 
                                                    && ActivityCompat.checkSelfPermission(this, android.Manifest.permission.ACCESS_COARSE_LOCATION) != 
                                                    PackageManager.PERMISSION_GRANTED) {
                return;
            }
            map.setMyLocationEnabled(true);

            //It is used to zoom when google first loading on your device.
            map.setMapType(GoogleMap.MAP_TYPE_NORMAL);
            map.moveCamera(CameraUpdateFactory.newLatLngZoom(new LatLng(23.0310791, 72.5954376), 11));
            map.setMyLocationEnabled(true);
            map.animateCamera(CameraUpdateFactory.zoomTo(11));            
        }

        map.setOnMapClickListener(new GoogleMap.OnMapClickListener() {
            @Override
            public void onMapClick(LatLng latLng) {

                // Creating a marker
                MarkerOptions markerOptions = new MarkerOptions();

                // Setting the position for the marker
                markerOptions.position(latLng);

                // Placing a marker on the touched position
                map.addMarker(markerOptions);

            }
        });
    }
}

我已经实现了
googlemapapi
来加载地图,我正试图加载上面的标记。它根据提供的lat和long加载标记,但我只需要在我的谷歌地图上绘制两个标记。

我想的是,在地图上放置两个标记,并在每个地图上不断更改其位置。单击重要信息:将新位置设置为旧标记

    map.setOnMapClickListener(new GoogleMap.OnMapClickListener() {
        boolean swap;
        Marker firstMarker = null, secondMarker = null;
        @Override
        public void onMapClick(LatLng latLng) {

            if (firstMarker == null) {
                MarkerOptions options = new MarkerOptions();
                options.position(latLng);
                firstMarker = map.addMarker(options);
                return;
            }

            if (secondMarker == null) {
                MarkerOptions options = new MarkerOptions();
                options.position(latLng);
                secondMarker = map.addMarker(options);
                return;
            }
            swap = !swap;
            if (swap) {
                firstMarker.setPosition(latLng);
            } else {
                secondMarker.setPosition(latLng);
            }
        }
    });

当有人点击地图时,你们已经添加了标记。所以,只要你们点击它多少次,地图上就会出现多少个标记。因此,在放置新标记时,是否要删除以前的标记?请检查此答案是否适合您