2016-07-30 5 views
0

Я использовал приведенный ниже код, чтобы показать карту osm.Как анимировать камеру в определенном месте в открытой карте улицы (OSM) в андроиде?

IMapController iMapController = map.getController(); 
    iMapController.setZoom(20); 
    GeoPoint geoPoint = new GeoPoint(11.9534485,79.8201425); 
    iMapController.setCenter(geoPoint); 

Я хочу, чтобы анимировать камеру в определенном месте, как и в Google map.Is это возможно сделать?

Просьба предложить несколько способов для продолжения.

+0

2 из ответов здесь для библиотеки google, потому что вы добавили тег «openstreetmap», который слишком широк и в этом случае лишним. –

ответ

0

onMapReady поместить туда код cemera анимации из вашего местоположения

окончательный LatLngBounds.Builder mapboundbuilder = новый LatLngBounds.Builder();

mapboundbuilder.include («ВАША ЛАТУННАЯ ПАРА»);

LatLngBounds tmpbnd = mapboundbuilder.build();

Центр LatLng = tmpbnd.getCenter(); LatLng northEast = Consts.mappointmove (в центре, 709, 709);

 LatLng southWest = Consts.mappointmove(center, 709, 709); 

     mapboundbuilder.include(southWest); 

     mapboundbuilder.include(northEast); 

     LatLngBounds bounds = mapboundbuilder.build(); 

     LatLng center = tmpbnd.getCenter(); 

     LatLng northEast = Consts.mappointmove(center, 709, 709); 

     LatLng southWest = Consts.mappointmove(center, 709, 709); 

     mapboundbuilder.include(southWest); 

     mapboundbuilder.include(northEast); 

     LatLngBounds bounds = mapboundbuilder.build(); 

     try { 
      int width, height; 
      Display display = getWindowManager().getDefaultDisplay(); 
      Point size = new Point(); 
      display.getSize(size); 
      width = size.x; 
      height = size.y - 250; 
      CameraUpdate cu = CameraUpdateFactory.newLatLngBounds(bounds, width, height, 100); 
      googleMap.animateCamera(cu); 
     } catch (Exception e) { 
      e.printStackTrace(); 
     } 
+0

Я хочу сделать на открытой карте улиц не на карте Google. – Priya

0

Это Кодекс для анимировать камеру в определенном месте в Вид спутника Вид

public class NewMap implements OnMapReadyCallback{ 
 
@Override 
 
public void onMapReady(GoogleMap map){ 
 

 
//Enter Your Specific Location Here 
 

 
LatLng mySpecificLocation=new LatLng(11.9534485,79.8201425); 
 

 
map.moveCamera(CameraUpdateFactory.newLatLngZoom(mySpecificLocation,13)); 
 

 
//This one for change the map view into Steet View 
 
map.setMapType(GoogleMap.MAP_TYPE_SATELLITE); 
 

 
CameraPosition cameraPosition=CameraPosition.builder() 
 
//this one takes map position into your specific location 
 
.target(mySpecificLocation) 
 
//this one for camera zooming option 
 
.zoom(13) 
 
.build(); 
 
//This one for animate camera 
 
map.animateCamera(CameraUpdateFactory.newCameraPostion(camerapostion,2000,null)); 
 
} 
 
}

1

Используйте код ниже:

IMapController mapController; 

    final GeoPoint myPoint1 = new GeoPoint(lat, lng); 
     mapController.setCenter(myPoint1); 

    mapController.zoomTo(Integer.parseInt(15)); 
    map.getController().animateTo(myPoint1);