我正在寻找如何使用 Google 地图外部库复制 Android(和 iPhone)上的地图中存在的跟随当前位置功能。该功能在地图中的工作方式是,当您按下按钮时,它会开始平移您的位置,直到您触摸(和/或移动)地图。使用以下内容,我可以让我的应用程序将当前位置保留在屏幕上,但不能将当前位置保留在屏幕中央(当位置接近屏幕边缘时它会平移,而 Maps 会将其保留在始终居中):
butMapCurrentLocation.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
runOnUiThread(new Runnable() {
public void run() {
mapController.animateTo(myLocationOverlay.getMyLocation());
}
});
}
});
我也尝试过setCenter
,而不是animateTo
它们似乎具有相同的效果。
另外值得注意的是,我需要能够停止这个将位置保持在中心的功能(例如当按下另一个按钮或触摸地图时)。上面的 Runnable 不会立即停止,即使在使用 .cancel 时,我也无法在请求时正确停止,如此处所述:Android:如何停止 Runnable?