标记未显示在Google地图上的预期坐标上

时间:2017-04-10 17:15:51

标签: android google-maps marker

我尝试从上一个活动中的数据库中检索纬度和经度值,并使用意图将它们发送到此当前活动。我已将它们转换为double值并在此活动中将它们发送为double。从数据库中检索是成功的。但是,当我使用标记绘制这些坐标时,正在绘制getDoubleExtra()的默认值,而不是实际坐标。

    public class MapsMarkerActivity extends AppCompatActivity
    implements OnMapReadyCallback {
String username11;
Double lat,lng;
GoogleMap mMap;
LatLng me;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_maps_marker);
    Intent y=getIntent();
    username11=y.getStringExtra("username");
    lat=y.getDoubleExtra("lat",23.45);
    lng=y.getDoubleExtra("'lng",75.22);
    SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager()
            .findFragmentById(R.id.map);
    mapFragment.getMapAsync(this);
}
@Override
public void onMapReady(GoogleMap googleMap) {
    mMap=googleMap;
    LatLng sydney = new LatLng(-33.852, 151.211);
    googleMap.addMarker(new MarkerOptions().position(sydney)
            .title("Marker in Sydney"));
    googleMap.moveCamera(CameraUpdateFactory.newLatLng(sydney));
    googleMap.clear();
    me=new LatLng(lat,lng);
    col(mMap);
}
public void col(GoogleMap mMap){
    mMap.addMarker(new MarkerOptions().position(me).title("Location of "+username11));
    mMap.moveCamera(CameraUpdateFactory.newLatLng(me));
}
  }

标记指向23.45 lat和75.22,而不是从数据库中检索的值。

需要做些什么来纠正这个问题?

我调用地图活动的代码位于

之下
    Intent u=new Intent(this,MapsMarkerActivity.class);
    u.putExtra("lat",lat);
    u.putExtra("lng",lng);
    u.putExtra("username",username11);
    startActivity(u);

解析如下所示,我使用volley来获取一个响应字符串。

    lat=Double.parseDouble(response);

0 个答案:

没有答案