- 浏览: 7338832 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (1546)
- 企业中间件 (236)
- 企业应用面临的问题 (236)
- 小布Oracle学习笔记汇总 (36)
- Spring 开发应用 (54)
- IBatis开发应用 (16)
- Oracle基础学习 (23)
- struts2.0 (41)
- JVM&ClassLoader&GC (16)
- JQuery的开发应用 (17)
- WebService的开发应用 (21)
- Java&Socket (44)
- 开源组件的应用 (254)
- 常用Javascript的开发应用 (28)
- J2EE开发技术指南 (163)
- EJB3开发应用 (11)
- GIS&Mobile&MAP (36)
- SWT-GEF-RCP (52)
- 算法&数据结构 (6)
- Apache开源组件研究 (62)
- Hibernate 学习应用 (57)
- java并发编程 (59)
- MySQL&Mongodb&MS/SQL (15)
- Oracle数据库实验室 (55)
- 搜索引擎的开发应用 (34)
- 软件工程师笔试经典 (14)
- 其他杂项 (10)
- AndroidPn& MQTT&C2DM&推技术 (29)
- ActiveMQ学习和研究 (38)
- Google技术应用开发和API分析 (11)
- flex的学习总结 (59)
- 项目中一点总结 (20)
- java疑惑 java面向对象编程 (28)
- Android 开发学习 (133)
- linux和UNIX的总结 (37)
- Titanium学习总结 (20)
- JQueryMobile学习总结 (34)
- Phonegap学习总结 (32)
- HTML5学习总结 (41)
- JeeCMS研究和理解分析 (9)
最新评论
-
lgh1992314:
[u][i][b][flash=200,200][url][i ...
看看mybatis 源代码 -
尼古拉斯.fwp:
图片根本就不出来好吧。。。。。。
Android文件图片上传的详细讲解(一)HTTP multipart/form-data 上传报文格式实现手机端上传 -
ln94223:
第一个应该用排它网关吧 怎么是并行网关, 并行网关是所有exe ...
工作流Activiti的学习总结(八)Activiti自动执行的应用 -
ZY199266:
获取不到任何消息信息,请问这是什么原因呢?
ActiveMQ 通过JMX监控Connection,Queue,Topic的信息 -
xiaoyao霄:
DestinationSourceMonitor 报错 应该导 ...
ActiveMQ 通过JMX监控Connection,Queue,Topic的信息
GIS的学习(十七)Osmdroid中地图图层
在地图中添加小地图和线路图层的使用:
源代码:
package com.geoserver.osmdroid; import org.osmdroid.tileprovider.tilesource.TileSourceFactory; import org.osmdroid.util.GeoPoint; import org.osmdroid.views.MapController; import org.osmdroid.views.MapView; import org.osmdroid.views.overlay.MyLocationOverlay; import org.osmdroid.views.overlay.PathOverlay; import org.osmdroid.views.overlay.ScaleBarOverlay; import org.osmdroid.views.overlay.SimpleLocationOverlay; import org.osmdroid.views.overlay.MinimapOverlay; import android.app.Activity; import android.graphics.Color; import android.os.Bundle; /** * * 在osmdroid中 1.添加线路图层 * 2.添加小地图图层 * 3.跟踪当前位置移动 * * * @Title: * @Description: 实现TODO * @Copyright:Copyright (c) 2011 * @Company: * @Date:2012-8-24 * @author longgangbai * @version 1.0 */ public class GeoServerosmdroidActivity extends Activity { private MapView mMapView; private MapController mMapController; int mIncr = 10000; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); mMapView = (MapView) findViewById(R.id.mapview); mMapView.setTileSource(TileSourceFactory.MAPNIK); mMapView.setBuiltInZoomControls(true); mMapView.setMultiTouchControls(true); mMapController = mMapView.getController(); mMapController.setZoom(13); //定位当前位置 MyLocationOverlay mylocationLayer=new MyLocationOverlay(GeoServerosmdroidActivity.this,mMapView); mMapView.getOverlays().add(mylocationLayer); mylocationLayer.enableCompass(); mylocationLayer.enableFollowLocation(); mylocationLayer.enableMyLocation(); //缩放图层 ScaleBarOverlay scalebar=new ScaleBarOverlay(GeoServerosmdroidActivity.this); mMapView.getOverlays().add(scalebar); // SimpleLocationOverlay simpleLocation=new SimpleLocationOverlay(GeoServerosmdroidActivity.this); mMapView.getOverlays().add(simpleLocation); //小地图 MinimapOverlay minmap=new MinimapOverlay(GeoServerosmdroidActivity.this,mMapView.getHandler()); mMapView.getOverlays().add(minmap); //线路每段的坐标 GeoPoint gPt0 = new GeoPoint(51500000, -150000); GeoPoint gPt1 = new GeoPoint(gPt0.getLatitudeE6() + mIncr, gPt0.getLongitudeE6()); GeoPoint gPt2 = new GeoPoint(gPt0.getLatitudeE6() + mIncr, gPt0.getLongitudeE6() + mIncr); GeoPoint gPt3 = new GeoPoint(gPt0.getLatitudeE6(), gPt0.getLongitudeE6() + mIncr); mMapController.setCenter(gPt0); //线路 PathOverlay myPath = new PathOverlay(Color.RED, this); myPath.addPoint(gPt0); myPath.addPoint(gPt1); myPath.addPoint(gPt2); myPath.addPoint(gPt3); myPath.addPoint(gPt0); mMapView.getOverlays().add(myPath); } }
主要配置:
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.easyway.osmdroid" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="8" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> <uses-permission android:name="android.permission.INTERNET"/> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/> <application android:icon="@drawable/ic_launcher" android:label="@string/app_name" > <activity android:name="GeoServerosmdroidActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest>
布局文件:
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:background="#FFFFFF" android:id="@+id/geoserver_layout" android:layout_height="fill_parent" > <org.osmdroid.views.MapView android:id="@+id/mapview" android:layout_width="fill_parent" android:layout_height="fill_parent" android:clickable="true" android:enabled="true" /> </RelativeLayout>
评论
5 楼
prince_of_
2016-05-11
您好,您添加的线路是在OnCreate()方法中完成的,您有没有试过动态地添加线路,也就是由按钮点击事件触发的线路添加,我在这样使用时出现了问题,想请教您一下
4 楼
longgangbai
2013-12-02
j2115126 写道
还是不太明白啊,是在DirectedLocationOverlay这个类里添加指南针的实现吗,MyLocationOverlay这个类已经实现了指南针,mylocationLayer.enableCompass();// 设置指南针,我还得再重写个指南针的实现吗,然后再添加到地图中mapView.getOverlays().add(DirectedLocationOverlay);是吗?我这刚接触osmdroid不太明白呢! 还有个问题就是osmdroid用什么地图源不会发生偏移啊,我用google maps定位的时候总是有偏移,本来我在道这边他给我定位到道那边去了,用OpenStreetMap Mapnik的地图源就不会有偏移,我想用google的地图源,不知道有什么办法解决偏移的问题
当时我们是重写了MyLocationOverlay实现的,至于偏移当时我们考虑不多,但是肯定是有点就是偏移的多少而已。
3 楼
j2115126
2013-11-18
还是不太明白啊,是在DirectedLocationOverlay这个类里添加指南针的实现吗,MyLocationOverlay这个类已经实现了指南针,mylocationLayer.enableCompass();// 设置指南针,我还得再重写个指南针的实现吗,然后再添加到地图中mapView.getOverlays().add(DirectedLocationOverlay);是吗?我这刚接触osmdroid不太明白呢! 还有个问题就是osmdroid用什么地图源不会发生偏移啊,我用google maps定位的时候总是有偏移,本来我在道这边他给我定位到道那边去了,用OpenStreetMap Mapnik的地图源就不会有偏移,我想用google的地图源,不知道有什么办法解决偏移的问题
2 楼
longgangbai
2013-11-15
j2115126 写道
楼主osmdroid中定位时不是显示一个箭头么,gps定位的时候是地图旋转,我想让地图不转,让箭头转,像指南针那样转,怎么实现啊,我找了好久都没有找到,
扩展指南针,自定义一个指南针实现,
1 楼
j2115126
2013-11-14
楼主osmdroid中定位时不是显示一个箭头么,gps定位的时候是地图旋转,我想让地图不转,让箭头转,像指南针那样转,怎么实现啊,我找了好久都没有找到,
发表评论
-
TestNG简单的学习(十三)TestNG中Junit的实现
2013-12-04 09:00 3355TestNG和junit的整合 ... -
TestNG简单的学习(十二)TestNG运行
2013-12-03 09:08 51587文档来自官方地址: ... -
TestNG简单的学习(十一)TestNG学习总结
2013-12-03 09:08 14198最近一直在学习关于TestNG方面的知识,根 ... -
TestNG简单的学习(十)TestNG @Listeners 的使用
2013-12-03 09:07 8694TestNG官方网站: http://testng.or ... -
TestNG简单的学习(九)TestNG Method Interceptors 的使用
2013-12-03 09:07 2714TestNG官方网站: http://testng ... -
TestNG简单的学习(八)TestNG Annotation Transformers 的使用
2013-12-03 09:07 2810TestNG官方网站: http://testng.or ... -
TestNG简单的学习(七)TestNG编程方式运行
2013-12-02 09:22 2454TestNG官方网站: http://testng.or ... -
TestNG简单的学习(六)测试工厂注释的使用
2013-12-02 09:22 2784TestNG官方网站: http://testng.or ... -
TestNG简单的学习(五)参数化测试数据的定制
2013-12-02 09:22 2702TestNG官方网站: http://testng.or ... -
TestNG简单的学习(四)测试方法通过名称名称依赖实现
2013-12-02 09:21 2082TestNG官方网站: http://testng.or ... -
TestNG简单的学习(三)测试方法通过测试分组依赖实现
2013-12-02 09:21 2830TestNG官方网站: http://testng.or ... -
TestNG简单的学习(二)参数化测试并发且多方法测试方法判定
2013-11-29 15:35 3702TestNG官方网站: http://testng.or ... -
TestNG简单的学习(一)类和方法级别@Test的区别
2013-11-29 15:31 9425TestNG官方文档的地址: http://testng ... -
Feed4Junit的简单使用(七)Feed4TestNg
2013-11-29 13:35 6133在Feed4Junit主要针对junit实现的 ... -
Feed4Junit的简单使用(六)数据来特定格式文件
2013-11-29 12:29 2767Feed4Junit官方地址: http://da ... -
Feed4Junit的简单使用(五)数据来自动态约束数据
2013-11-29 12:29 2631Feed4Junit官方地址: http://datab ... -
Feed4Junit的简单使用(四)数据来自定义数据源
2013-11-28 14:09 3103Feed4Junit官方地址: http://databe ... -
Feed4Junit的简单使用(三)数据源来自数据库
2013-11-28 13:58 3170Feed4Junit官方地址: http://databe ... -
Feed4Junit的简单使用(二)数据源来自文件
2013-11-28 13:50 4571Feed4Junit官方地址: http://datab ... -
Feed4Junit的简单使用(一)
2013-11-28 13:47 2215Feed4Junit官方地址: http://databe ...
相关推荐
《天地图图层在ArcGIS中的应用与理解》 天地图作为中国国家级地理信息公共服务平台,为用户提供丰富的地理信息服务,包括地图浏览、定位、查询、分析等。随着技术的不断更新,天地图与GIS软件的结合也在持续演进。...
在"GIS.rar_gis_gis管网_百度地图_管网图形_管网地图"这个压缩包中,我们可以推测它包含了与GIS应用相关的文件,特别是关于管网地图的创建和编辑。 首先,"GIS.html"可能是该压缩包的核心文件,它可能是一个基于Web...
为了解决这个问题,本合集提供了对应的Lyr图层文件,使得用户在低版本的ArcGIS中也能顺利接入天地图的数据。 Lyr文件是ArcGIS中的图层文件,它包含了图层的显示设置、符号系统、数据源信息等,可以方便地在不同项目...
在IT领域,尤其是在移动应用开发中,特别是在地理信息系统(GIS)和地图应用中,自定义图层是一个重要的功能。此功能允许开发者根据特定需求在地图上叠加个性化信息,以提供更丰富的用户体验。以下是对这个主题的...
在GIS中,矢量图层是重要的数据结构,它代表了地理特征的点、线、面等几何对象。矢量数据的特点在于能够精确地表示地物的位置和形状,并且可以进行复杂的几何运算和属性查询。 "shp"是Esri公司开发的ArcGIS软件中最...
在开发过程中,需要学习如何加载地图数据、创建图层、设置图层属性、以及进行交互式地图操作等。同时,良好的编程习惯和文档记录也是提高开发效率的关键。 总的来说,这个压缩包提供的资料是学习C#和ArcEngine结合...
本文将深入探讨如何在SuperMap中加载天地图图层,这是一个非常实用的技术,可以帮助用户集成和展示丰富的地理信息数据。 首先,理解“天地图”是非常重要的。天地图是由中国测绘科学研究院研发的国家级地理信息公共...
在IT行业中,地图服务是应用广泛的技术之一,特别是在地理信息系统(GIS)和移动应用开发中。高德地图作为中国领先的数字地图提供商,提供了丰富的API和SDK,使得开发者能够轻松地在其平台上实现各种复杂的地图功能...
综上所述,WMS图层与分块动态图层(如WMTS)的叠加,是Web GIS开发中的常见操作,通过SuperMap iClient 6R for JavaScript这样的客户端库,开发者可以轻松地实现这种功能,为用户提供丰富的地图交互体验。...
GIS 地图亚洲地图
4. 数据处理与分析:GIS可以进行空间分析,如缓冲区分析(确定距离某一地点一定范围内的区域)、叠置分析(合并多个图层以研究空间关系)、网络分析(寻找最短路径或最小成本路径)等。此外,还有统计分析、空间插值...
在GIS的学习中,地图查询和空间分析是两个核心概念。 地图查询是GIS应用中的基础功能,它允许用户通过特定条件在地图上查找相关信息。这包括基于位置、属性或特定标准的搜索。例如,你可以通过地图查询找出某城市的...
标题“天地图水系GIS数据.zip”所指的是一份包含天地图水系地理信息的压缩文件,这个压缩包主要用于GIS(地理信息系统)应用。GIS是一种整合了地图、数据库和计算机技术的系统,用于处理与地理位置相关的数据。在这...
在ArcGIS中,用户可以加载、编辑和分析这些矢量图层,进行地图制作、地理分析和空间决策支持。.shp文件通常与其他关联文件一起使用,如.shx(索引文件)、.dbf(属性数据文件)、.prj(投影文件)、.sbn和.sbx(备份...
在Web GIS中,JavaScript库如Leaflet、OpenLayers、ArcGIS API for JavaScript等,为开发者提供了丰富的功能,包括加载地图瓦片、添加图层、标注、查询、分析等。例如,你可以使用这些库来创建一个基本的地图界面,...
这个程序示例展示了如何结合OpenLayers和GeoServer实现地图图层的编辑功能,这在GIS(地理信息系统)开发中是非常常见的需求。GeoServer是一个开源的GIS服务器,能够发布地图数据并提供WFS(Web Feature Service)等...
在Android开发领域,"天地图显示定位显示图层"是一个重要的功能实现,它结合了地理信息系统(GIS)和移动应用技术,使得用户可以在移动设备上查看、定位并操作地图图层。下面将详细介绍这一功能的实现及其相关知识点...
标题中的“浙江省省界GIS矢量图层shp”指的是一个地理信息系统(GIS)的数据集,专门描绘了浙江省的行政边界。这个数据集是以ESRI的Shapefile(shp)格式存储的,这是一种广泛用于地理空间数据的标准文件格式。...
arcgis在线图层加载插件,可以加载百度地图、高德地图等在线地图。MapOnline地图插件_升级版 v1.2,新增了“GoogleEarth地图”与“历史地图”,可以“加载自定义切片”,可以“以切片的方式访问WMS服务”,比ArcMap...
2. **GIS软件操作**:熟悉主流的GIS软件,如ArcGIS、QGIS、GRASS GIS等,学习其界面操作、数据导入导出、图层管理、地图制作等功能。 3. **空间数据分析**:学习如何进行空间叠加分析、缓冲区分析、网络分析、地形...