2017-05-24 40 views
0

我有一个已经正确初始化的GoogleMap(精简模式)对象。它适用于单个标记,并使用CameraUpdate和newLatLngZoom重点关注适当的区域。LatLngBounds和CameraUpdate没有放大

但是,当涉及到添加两个标记,并且使用LatLngBounds使地图保持在视图中时,所有事情都会变得焦躁不安。地图缩小显示整个大陆,两个标记相互叠加(与多段线一起)。

请假设从皮卡和目的地的数据是正确的

这里是我的代码:

googleMap.addMarker(new MarkerOptions() 
        .position(pickup) 
        .title(job.getPickupAddress())); 

      googleMap.addMarker(new MarkerOptions() 
        .position(destination) 
        .title(job.getDestinationAddress()) 
        .icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_BLUE))); 

      CameraUpdate cameraUpdate = CameraUpdateFactory.newLatLngBounds(new LatLngBounds.Builder().include(pickup).include(destination).build(), 0); 
      googleMap.moveCamera(cameraUpdate); 

      String pickupLatLng = job.getPickupLatLong().latitude + "," + job.getPickupLatLong().longitude; 
      String destinationLatLng = job.getDestinationLatLong().latitude + "," + job.getDestinationLatLong().longitude; 
      plotPolyLines(pickupLatLng, destinationLatLng); 

输出:

The output

回答

0

尝试改变线

googleMap.moveCamera(cameraUpdate); 

googleMap.moveCamera(CameraUpdateFactory.newLatLngZoom(new LatLng(xxxx,xxxx) , 14.0f)); 

的建议在How do I set default location and Zoom level for google map api v2? 或使用

map.animateCamera(CameraUpdateFactory.zoomTo(15), 2000, null); 

这应该移动摄像机更贴近您的标记。

+0

但是,这不会使相机对准两个标记。使用范围的重点在于两个标记都可以在视图中显示。 – Asim