Как установить Mapoom Zoom Level в onCreate ()? - PullRequest
4 голосов
/ 29 декабря 2011

Я разрабатываю приложение OneMap для Android, и код выглядит следующим образом:

    private MapView map;

    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        map = (MapView) findViewById(R.id.map); 

        map.addLayer(new ArcGISTiledMapServiceLayer(Practice_3.this,
                "http://www.onemap.sg/ArcGIS/rest/services/BASEMAP/MapServer"));}

Я теряюсь при выяснении , как установить уровень масштабирования при первой загрузке карты на эмуляторе, как при загрузке, карта слишком мала.

Может ли кто-нибудь помочь мне с этим?

Любая помощь будет принята с благодарностью.

Ответы [ 3 ]

0 голосов
/ 14 октября 2013

Во-первых, вам нужно знать ваше текущее местоположение, теперь вы можете использовать новое местоположение API, вот руководство .затем вы можете добавить команду ниже под Onconnect()

LatLng latlng = new LatLng(location.getLatitude(),location.getLongitude());         
map.moveCamera(CameraUpdateFactory.newLatLng(latlng));
map.animateCamera(CameraUpdateFactory.zoomTo(2.0f));

, но помните .connect () LocationClient в onCreate ().

здесь вы увидите сообщение об ошибкеполучить, если вы не следуете Android: на com.google.android.gms.internal.uy (неизвестный источник)

0 голосов
/ 25 февраля 2016

Похоже, вы используете карты ArcGIS.Пожалуйста, используйте приведенный ниже пример кода, чтобы установить уровень масштабирования при запуске карт.

<com.esri.android.map.MapView
    android:id="@+id/map"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    mapoptions.MapType="Topo"
    mapoptions.ZoomLevel="13"
    mapoptions.center="33.666354, -117.903557" />

Вы также можете установить в файле активности,

 MapOptions options = new MapOptions(MapType.TOPO, 23, -110, 9);

Дайте мне знать, работает ли он для вас.

0 голосов
/ 29 декабря 2011
public class MyMap_MapControllerActivity extends MapActivity {

    private MapView mapView;
    //private MapController mapController;
     MapView.LayoutParams lp;
     int y = 10;
        int x = 10;

    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        mapView = (MapView)findViewById(R.id.map_view);
        mapView.setSatellite(true);
        mapView.setStreetView(true);
        mapView.setTraffic(true);



    GeoPoint center = mapView.getMapCenter();
    int latSpan = mapView.getLatitudeSpan();
    int longSpan = mapView.getLongitudeSpan();




    lp = new MapView.LayoutParams(MapView.LayoutParams.WRAP_CONTENT,
    MapView.LayoutParams.WRAP_CONTENT,
    x, y,
    MapView.LayoutParams.TOP_LEFT);
    View zoomControls = mapView.getZoomControls();
    mapView.addView(zoomControls, lp);
    mapView.displayZoomControls(true);
    }



    @Override
    protected boolean isRouteDisplayed() {
        // TODO Auto-generated method stub
        return false;
    }
    }
...