我有一个位置管理器类,我使用的位置更新。
我也有一个小的地图片段在我的活动,我想在我的经理吐出的位置为中心。
我把我的地图设置为启用myLocation,这样我就可以看到说明我所在位置的蓝点。
伟大的. .
现在我也在更新相机的地图上的位置更新到我从我的locationManager获得的纬度,但地图不是以蓝点为中心。这让我觉得地图和我的位置管理器对我的位置有不同的想法。
我查看了mMap。setLocationSource在希望我可以告诉我的地图使用我的位置管理器作为源,但我得到很少的文档的方式,什么类LocationSource甚至是。有人可以向我说明如何让我的地图使用我的位置管理器作为它的来源?>
LocationSource
不是一个类,而是一个具有两个函数的接口。
你需要创建一个类,实现它和:
在activate
中,您通过了LocationSource.OnLocationChangedListener listener
,您需要保留参考。
在这个函数中,您通常也会开始从LocationManager
请求位置。当您在LocationListener
中从LocationManager
获得Location
时,您需要将此转发给LocationSource.OnLocationChangedListener listener
。
在deactivate
中,您只需停止请求位置。
例如:
ANDROID_SDKextrasgooglegoogle_play_servicessamplesmapssrccomexamplemapdemoLocationSourceDemoActivity.java
在你的地图片段中执行OnMyLocationChangeListener
,然后为mapfragment设置map.setOnMyLocationChangeListener(this)
,然后任何时候onMyLocationChange
被调用,更新相机到给定的位置,因为当它被调用时,蓝点移动。
你的位置管理器和地图的位置是两个不同的东西