5

我想将相机移动到相对于标记高度适合LatLngBounds的位置。到目前为止,我能够为配合标记与此代码锚:将相机位置移动到适合标记高度的LatLngBounds

LatLngBounds.Builder builder = new LatLngBounds.Builder(); 
for (Marker marker : markerList) { 
    builder.include(marker.getPosition()); 
} 
LatLngBounds bounds = builder.build(); 

int padding = getActivity().getResources().getDimensionPixelSize(R.dimen.home_map_padding); // offset from edges of the map in pixels 
cameraUpdate = CameraUpdateFactory.newLatLngBounds(bounds, padding); 
mGoogleMap.animateCamera(cameraUpdate); 

它产生的输出是这样的: my output so far 正如你可以看到有在底部空的空间(这是int padding)。 我想有填充等于像这样:

enter image description here

回答

4

你的问题是类似的一个张贴在这里:

Defining a CameraUpdate with LatLngBounds with different padding values

的解决方案是实际GoogleMap顶边距设置为您的标记图标的高度。

像这样的东西会做:

Drawable drawable = <YOUR DRAWABLE HERE>; 
final int padding = drawable.getIntrinsicHeight(); 
map.setPadding(0, padding, 0, 0); 

看起来这与我的自定义标记图像(插入统治者比较):

enter image description here

+0

其实我的问题是重复的。但无论如何,你拯救了我的一天(甚至几乎没有)。 – 2015-03-10 12:35:59

+0

@MarianPaździoch很高兴我的回答很有帮助。我实际上是在自己寻找一个解决方案,并找到你的问题(和另一个)。 – Baz 2015-03-10 12:38:12

+0

错误,因为指标自动移动 – delive 2015-11-05 20:02:00

0

我不相信有什么办法,除非你正在使用自定义标记来获得标记的高度。但是,考虑到标记保持相同的大小,您可以将摄像机视图向上滚动一定量。

你将不得不多少滚动一下,但一旦你获得了价值,你可以根据屏幕密度进行缩放,如果有必要的话。

+0

的问题是:我知道标记高度(以像素),但我不知道动画后会放大地图缩放比例,所以我无法在这里填充高度:https://developer.android.com/reference/com/google/android/gms/maps/CameraUpdateFactory的.html#newLatLngBounds(com.google.android.gms.maps.model.LatLngBounds,%20int ) – 2015-03-09 10:50:39

相关问题