2011-12-29 91 views
4

我正在开发一个OneMap的Android应用程序和代码如下:如何在onCreate()中设置MapView缩放级别?

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"));} 

我在搞清楚如何设置缩放级别时丢失地图首次加载在模拟器上加载时,地图太小。

任何人都可以帮助我吗?

任何帮助将不胜感激。

+0

许多教程可以在线获取Google地图应用程序的Android版。这似乎是你没有检查他们。不要为基本的东西使用stackoverflow,它不好。 – 2011-12-29 10:19:42

+0

@Yugandhar Babu你是对的,但这里的这些词看起来不友好 – atom2ueki 2013-10-14 15:40:22

回答

0
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; 
    } 
    } 
+0

嗨,非常感谢您的回复。 – user1097856 2011-12-30 01:03:40

0

首先你需要知道你的当前位置,现在你可以使用新的位置API,这里是guide。 那么你可以下的onCreate下Onconnect()

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

添加下面的命令,但记得.connect()LocationClient()。

这里是错误消息,如果你不遵循 Android: at com.google.android.gms.internal.u.y(Unknown Source)

0

它看起来像使用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); 

让我知道它是否适合你。