GIS的学习(二十二)osmdroid中添加縮放控件
package com.geoserver.osmdroid;import org.osmdroid.tileprovider.util.CloudmadeUtil;import org.osmdroid.views.MapView;import org.osmdroid.views.overlay.MinimapOverlay;import android.app.Activity;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.ImageView;import android.widget.RelativeLayout;import android.widget.RelativeLayout.LayoutParams;/** * osmdroid中添加縮放控件 * 1.注意佈局設置 * 2.添加相關的事件 * * @Title: * @Description: 实现TODO * @Copyright:Copyright (c) 2011 * @Company: * @Date:2012-9-6 * @author longgangbai * @version 1.0 */public class SampleWithMinimapZoomcontrols extends Activity {private MapView mOsmv;/** Called when the activity is first created. */@Overridepublic void onCreate(final Bundle savedInstanceState) {super.onCreate(savedInstanceState);final RelativeLayout rl = new RelativeLayout(this);CloudmadeUtil.retrieveCloudmadeKey(getApplicationContext());this.mOsmv = new MapView(this, 256);rl.addView(this.mOsmv, new RelativeLayout.LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.FILL_PARENT));//縮放控件的使用/* ZoomControls */{/* Create a ImageView with a zoomIn-Icon. */final ImageView ivZoomIn = new ImageView(this);ivZoomIn.setImageResource(R.drawable.zoom_in);/* Create RelativeLayoutParams, that position in in the top right corner. */final RelativeLayout.LayoutParams zoominParams = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT,RelativeLayout.LayoutParams.WRAP_CONTENT);zoominParams.addRule(RelativeLayout.ALIGN_PARENT_RIGHT);zoominParams.addRule(RelativeLayout.ALIGN_PARENT_TOP);rl.addView(ivZoomIn, zoominParams);ivZoomIn.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(final View v) {SampleWithMinimapZoomcontrols.this.mOsmv.getController().zoomIn();}});/* Create a ImageView with a zoomOut-Icon. */final ImageView ivZoomOut = new ImageView(this);ivZoomOut.setImageResource(R.drawable.zoom_out);/* Create RelativeLayoutParams, that position in in the top left corner. */final RelativeLayout.LayoutParams zoomoutParams = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT,RelativeLayout.LayoutParams.WRAP_CONTENT);zoomoutParams.addRule(RelativeLayout.ALIGN_PARENT_LEFT);zoomoutParams.addRule(RelativeLayout.ALIGN_PARENT_TOP);rl.addView(ivZoomOut, zoomoutParams);ivZoomOut.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(final View v) {SampleWithMinimapZoomcontrols.this.mOsmv.getController().zoomOut();}});}/* MiniMap */{MinimapOverlay miniMapOverlay = new MinimapOverlay(this,mOsmv.getTileRequestCompleteHandler());this.mOsmv.getOverlays().add(miniMapOverlay);}this.setContentView(rl);}}
?