2016-03-28 97 views
0

我有一些代码在该位置用标记显示位置(36.1302,5.524)的Google地图。我用这个位置创建标记,问题是标记出现在错误的地方。谷歌地图Android API v2,错误的标记位置

@Override 
public void onMapReady(GoogleMap googleMap) { 
    LatLng latLng = new LatLng(mLatitude,mLongitude); 
    MarkerOptions options = new MarkerOptions() 
      .position(latLng) 
      .title("I am here!"); 
    googleMap.addMarker(options); 
    googleMap.moveCamera(CameraUpdateFactory.newLatLng(latLng)); 
} 

这里是截图:http://imgur.com/pCDu3iP

+0

我认为你的问题没有完成。 –

+0

我使用Google Api获取用户位置,然后我想使用Google Maps Api在地图上显示它,问题是我获取了正确的位置数据,但是当我添加标记时,它将它放置在像我这样的错误位置显示在屏幕截图中 – ZeroOne

回答

1

那是因为你mLatitudemLongitude值可能为0,并绘制在地图上的位置是0,0

这主要是因为在设置它们的值之前,您正在使用mLatitudemLongitude变量。发生这种情况是因为onMap准备在活动生命周期中很早就被调用,同时从传感器获取坐标需要一些时间。

尝试在onLocationChanged(Location location)回调方法中添加标记。