Google maps 谷歌地图api v2闪烁

Google maps 谷歌地图api v2闪烁,google-maps,google-maps-android-api-2,google-maps-api-2,Google Maps,Google Maps Android Api 2,Google Maps Api 2,我的地图代码似乎导致我的应用程序每秒闪烁/闪烁一次。有人看到突出的东西吗?它跟踪我在红圈中的位置。它似乎也没有达到我设置的缩放级别 谢谢 package com.direction.investor.farmsprayer; import com.direction.investor.farmsprayer.R; import com.google.android.gms.maps.GoogleMap; import com.google.android.gms.maps.Location

我的地图代码似乎导致我的应用程序每秒闪烁/闪烁一次。有人看到突出的东西吗?它跟踪我在红圈中的位置。它似乎也没有达到我设置的缩放级别

谢谢

 package com.direction.investor.farmsprayer;

import com.direction.investor.farmsprayer.R;

import com.google.android.gms.maps.GoogleMap;
import com.google.android.gms.maps.LocationSource.OnLocationChangedListener;



import com.google.android.gms.maps.model.Circle;
 import com.google.android.gms.maps.model.CircleOptions;
 import com.google.android.gms.maps.model.LatLng;
import com.google.android.gms.maps.model.MarkerOptions;
import com.google.android.gms.maps.model.PolygonOptions;
import com.google.android.gms.maps.model.Polyline;
import com.google.android.gms.maps.model.PolylineOptions;
import com.google.android.gms.maps.*;

import android.annotation.SuppressLint;
import android.app.Activity;
import android.os.Bundle;
import android.graphics.Color;
import android.location.Criteria;
import android.location.Location;
import android.location.LocationManager;
import android.location.LocationListener;

public class MainActivity extends Activity implements LocationListener{

Location myLocation;

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




// Get back the mutable Circle

Location myLocation;

LocationManager locationmanager = (LocationManager) getSystemService(LOCATION_SERVICE);
Criteria cr = new Criteria();
String provider = locationmanager.getBestProvider(cr, true);
Location location = locationmanager.getLastKnownLocation(provider);

locationmanager.requestLocationUpdates(provider, 200, 0, (LocationListener) this);



}

@SuppressLint("NewApi")
@Override
public void onLocationChanged(Location location) {
    // TODO Auto-generated method stub
     GoogleMap mMap;
        mMap = ((MapFragment) getFragmentManager().findFragmentById(R.id.map)).getMap();

        mMap.setMapType(GoogleMap.MAP_TYPE_HYBRID);


        mMap.setMyLocationEnabled(true);
        mMap.animateCamera(CameraUpdateFactory.zoomBy(17));
     mMap.moveCamera(CameraUpdateFactory.newLatLng((new LatLng(location.getLatitude(), location.getLongitude()))));


     CircleOptions circleOptions = new CircleOptions()
    .center(new LatLng(location.getLatitude(), location.getLongitude()));
    circleOptions.radius(3.048); // In meters
    circleOptions.fillColor(0xffff0000);
    circleOptions.strokeWidth(0);


     mMap.addCircle(circleOptions); 


}

在当前代码中,每次调用
onlocationchanged
方法时,都要重新初始化映射片段

贴花你的地图
谷歌地图mMap
作为一个全局变量,可供类中的所有方法访问。每次加载应用程序时,只初始化一次地图片段,因此将下面的代码移动到
onResume()
方法,以便只调用一次。同样,在将mMap设置为映射片段之后,在执行其他映射初始化之前,执行空检查以确保已加载该片段

     mMap = ((MapFragment) getFragmentManager().findFragmentById(R.id.map)).getMap();
        if(mMap!=null) {
                mMap.setMapType(GoogleMap.MAP_TYPE_HYBRID);
                mMap.setMyLocationEnabled(true);
                mMap.animateCamera(CameraUpdateFactory.zoomBy(17));
}