我想将Android中的Google地图的 mylocation -Button从右上角移动到显示屏的右下角。
android APIs提供此功能来执行此操作。
GoogleMap.setPadding(int left,int top,int right,int bottom)
我的问题是
getCameraPosition()将返回填充区域的中心。
Projection.getVisibleRegion()将返回填充区域。
因此,在用户触摸" myLocation" -Button后,用户位置不再位于地图的中心。
移动UI控件的最佳方法是什么,但保持可见区域未填充?
感谢任何帮助!
答案 0 :(得分:0)
GoogleMap.set padding()
似乎只有在想要拆分屏幕以便地图只覆盖其中的一部分时才有意义。
所以我所做的就是创建我自己的my-location
按钮来响应这样的点击:
<强> Layout.xml 强>
<Button
android:id="@+id/myLocation"
android:layout_width="48dp"
android:layout_height="48dp"
android:background="@drawable/button_my_position" />
实施onLocationChanged()
以便我始终可以访问我当前的位置
@Override
public void onLocationChanged(Location location) {
this.currentLocation = location;
}
my-location clickListener :
myPosition = (Button)getView().findViewById(R.id.myLocation);
myPosition.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
map.animateCamera(CameraUpdateFactory.newLatLng(new LatLng(currentLocation
.getLatitude(), currentLocation.getLongitude())));
}
});