如何将PolyLine Fit设置为我们的Google Map Fragment

时间:2017-01-10 07:53:59

标签: android google-maps google-maps-android-api-2

我的折线失焦。我正在使用before_save :generate_slug private def genareate_slug url = self.name.to_s.parameterize(title) count = Slug.where("url LIKE '#{url}'").count self.url = count.positive? ? "#{url}-#{count + 1}" : url end 但这不是解决方案。如何解决这个问题

enter image description here

1 个答案:

答案 0 :(得分:7)

要解决您的问题,请先了解Google地图相机的工作原理。当你这样做时:

map.moveCamera(CameraUpdateFactory.newLatLngZoom(route.startLocation, 10));

相机将起始位置对焦于中间,缩放级别为10。我们需要的是集中路线。为此,我们需要使用latLng边界。一旦我们创建了一个包含两个或更多latLng的边界,我们就可以将它设置为地图的相机。这样,您的路线就会对用户可见。

创建包含路线上所有开始和结束标记的边界:

LatLngBounds.Builder builder = new LatLngBounds.Builder();
builder.include(startMarker);
builder.include(endMarker);
LatLngBounds bounds = builder.build();

然后使用工厂获取移动描述对象:CameraUpdateFactory

int padding = 0; // padding around start and end marker
CameraUpdate cu = CameraUpdateFactory.newLatLngBounds(bounds, padding);
googleMap.animateCamera(cu);