`
longgangbai
  • 浏览: 7337977 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

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. */
	@Override
	public 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() {
				@Override
				public 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() {
				@Override
				public 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);
	}
}

 

分享到:
评论

相关推荐

    C#编写地图缩放,ARC gis控件写的

    6. **界面设计**:为了让用户能够直观地操作地图,通常会在界面上添加缩放滑块、缩放按钮等控件。通过与MapControl的Scale属性联动,这些控件可以实时反映地图的缩放状态。 7. **性能优化**:随着地图缩放级别的...

    利用ArcGIS Engine、VS .NET和Windows控件开发GIS应用

    在VS .NET环境中,开发者可以使用ArcGIS控件,如MapControl、PageLayoutControl、TOCControl和ToolbarControl,创建GIS应用。MapControl显示地图,PageLayoutControl管理页面布局,TOCControl(Table of Contents)...

    VC++/Delphi下可用的GIS控件MapWinGIS(ocx)

    MapWinGIS作为一个OCX控件,可以在任何支持ActiveX技术的应用程序中使用,例如Visual Basic、Delphi或VC++,使得非GIS专业背景的开发者也能轻松地在他们的应用中添加地图功能。 在压缩包中,"master"可能是指项目的...

    地图控件 GIS开发地图控件

    GIS 地图控件 控件 GIS 地图 很不错的一个插件,希望对你们有帮助GIS 地图控件 控件 GIS 地图 很不错的一个插件,希望对你们有帮助

    easymapvcl-GIS控件

    尽管试用版可能有使用时间或功能限制,但它依然能够作为学习和实验的工具,以了解GIS控件能够为应用程序带来什么样的价值。 控件的易用性是其受到关注的重要原因。开发者不必深入了解GIS复杂的理论知识和底层代码,...

    gis地图信息的Delphi控件

    在IT行业中,GIS(Geographic Information System)地图信息控件是一种关键组件,它允许开发者集成地理信息系统功能到他们的应用程序中。对于Delphi这样的强大的Windows应用开发环境,有专门的控件支持来处理GIS数据...

    基于GIS控件的电子地图制作

    #### 二、GIS控件开发电子地图的特点 ##### 1. 集成开发技术 集成开发技术主要采用OLE Automation(对象链接与嵌入自动化)或DDE(动态数据交换)技术。通过这种方式,可以在可视化软件开发工具中启动GIS软件,在...

    用ArcEngine开发的鹰眼控件

    在IT行业中,GIS(地理信息系统)技术是一种关键的工具,...MapEagleViewControl文件很可能包含了实现这个功能的所有源代码文件,开发者可以通过查看这些文件来学习和借鉴实现方式,为自己的GIS项目添加类似的功能。

    利用ArcGIS Engine、VS [1].NET和Windows控件开发GIS应用

    在GIS(地理信息系统)开发领域,ArcGIS Engine与Visual Studio .NET的结合使用,辅以Windows控件,为创建高效且功能丰富的桌面GIS应用程序提供了强大的工具。本篇将深入探讨如何利用这些技术来构建GIS应用,特别...

    基于MapX控件的GIS应用软件基本功能二次开发

    基于MapX控件的GIS应用软件基本功能二次开发主要集中在如何将MapX控件集成到软件中,并利用其丰富的功能实现地理信息系统的基本操作。本文档提出了一种在Visual C++(简称VC)环境下,通过MapX控件进行GIS软件二次...

    MapWindow GIS4.8注册控件

    使用MapWindow GIS4.8的开发人员可以利用这些注册控件创建自定义的GIS应用程序,添加地图显示、图层管理和分析功能。此外,对于普通用户来说,正确注册控件是保证MapWindow GIS4.8完整功能的关键步骤。 总之,...

    基于VS平台及第三方控件GIS二次开发之校园子系统.rar

    接下来,我们讨论GIS二次开发中的核心组件——第三方控件。第三方控件通常由专业的GIS软件提供商提供,如Esri的ArcGIS SDK、MapInfo的MapXtreme或SuperMap的iClient等。这些控件集成了地图显示、数据处理、空间分析...

    GIS二次开发:第四讲 ArcEngine的控件.ppt

    GIS 二次开发:ArcEngine 的控件 ArcEngine 是一个强大的GIS 开发平台,提供了丰富的控件来帮助开发者快速构建 GIS 应用程序。本文将对 ArcEngine 的控件进行详细的介绍,包括 MapControl、PageLayoutControl、...

    ArcGIS Engine控件添加地图实例.zip_GIS二次开发_arcgis桌面端_arcgis编程_shutvrq

    总的来说,通过ArcGIS Engine控件添加地图实例,开发者可以构建功能丰富的GIS桌面应用程序,满足特定业务场景的需求。这个过程涉及到的知识点包括GIS原理、C#编程、ArcGIS Engine API的使用以及地图可视化和空间分析...

    gis二次开发空间与属性查询

    通过本篇,读者可以学习到基于 ArcEngine 的 GIS 二次开发空间与属性查询的基本实现方法,包括设计基本界面、添加窗体、添加代码等步骤。该技术可以广泛应用于 GIS 领域,满足用户的需求。 知识点: 1. ArcEngine ...

    netmap一个轻量级的GIS控件

    6. **源码开放**:NetMap的开源特性使得开发者可以根据项目需求进行二次开发,添加特定功能,或者优化性能。 **开发应用** 1. **GIS桌面应用**:开发者可以利用NetMap快速构建GIS桌面应用,例如土地资源管理系统、...

    gis二次开发学习代码

    这个压缩包文件“gis二次开发学习代码”显然包含了与GIS开发相关的代码示例,帮助学习者掌握GIS技术在实际应用中的运用。 1. **基础课程要求**: GIS二次开发的基础通常包括了解GIS的基本概念、数据模型(如矢量和...

Global site tag (gtag.js) - Google Analytics