Android GIS开发系列-- 入门季(5),这篇文章中,我们知道如何去查找要素.现在有一个需求,查找某点5000米范围的要素,那如何来做呢?首先我们需要在地图上画个5000米半径的圆,然后根据QueryParameters来查询相关要素.具体如下: 一.画个5000米半径的圆 1.确定中心点:centerPoint 2.半径为5000 3.将一个圆分为120个点(当然可以细分更多),比如第一个点角度为0,求出sin与cos值,再分别求出经度与纬度: 纬度= 中心点的纬度+半径*cos值*每…
FeatureLayer是要素图层,也是Arcgis的主要图层.用这个图层可以加载本地的shp文件.下面我们看怎样加载shp文件到MapView中.查看ArcGis API可知FeatureLayer的构造方法要传一个FeatureTable,而FeatureTable可用子类ShapefileFeatureTable来实现.代码如下,其中shpPath为shp文件的本地路径.\ private void initLayer() { try { featureLayer = new Featur…
一.首先我们来看一个网络图层: http://services.arcgisonline.com/arcgis/rest/services/World_Street_Map/MapServer,这是全球街道图.加载的代码也很简单: private static final String WORLD_STREETS_URL = "http://services.arcgisonline.com/ArcGIS/rest/services/World_Street_Map/MapServer"…
前言 这个系列,待最终完成更新,大家体谅点,第一版本全部是参考的网络教程,最近会逐步的细化更新为可以直接使用的情况. 本系列的开发基于AS (  Android Studio ), 和ArcGIS 的Android开发的API. 配置 开发首先要下载Arcgis SDK. 下载地址在Arcgis官网https://developers.arcgis.com/,不过下载要注册,比较麻烦. 可以从http://download.csdn.net/detail/gary__123456/9787775…
一.MapView MapView是Arcgis中的最基本的类,与高德地图SDK的MapView的重要性一样.MapView的创建有两种方法,一种是在Layout文件中直接写控件.一种是实例化,MapView mapView = new MapView(Context context); <com.esri.android.map.MapView android:id="@+id/map" android:layout_width="fill_parent"…
Gdal是用来读写栅格与矢量数据的,在Gdal官网,可以下载相关的资源进行平台的编译.其实Arcgis底层也是用Gdal来读取shp文件的,那在Android中可以直接读写shp文件吗,是可以的.这里已经有人编译了Android端的so ,下载地址.也可以自己尝试编译相关so. 新建项目,将下载的so 与相关资源导入,相关目录结构如下: 注意gdal的相关包名不要修改,避免so读取不到相应的类. 简单写个shp,注意导包,要导入org.gdal下面相关的类: private void write…
在项目中可以经常需要动态加载一些图层,像投影地图服务.投影地图服务器.其实网上有大量这样的服务,比如天地图官网, . 随便点开一个服务,里面有相关的信息.那如何加载这样图层服务呢. 一.首先感谢这篇博文ArcGIS读取天地图出现错位的情况,这篇文章的下载链接也有许多有用的资料.加载天地图用到一个关键的自定义类TianDiTuLayer package com.huang.tianditu.layer; import java.util.Map; import java.util.concurre…
利用MapView定位当前的位置 这里要用到Arcgis中的LocationDisplayManager这个类,由于比较简单.直接上代码: LocationDisplayManager locationDisplayManager = mMapView.getLocationDisplayManager();//获取定位类 locationDisplayManager.setShowLocation(true); locationDisplayManager.setAutoPanMode(Loc…
在Android中json数据十分普遍,也很实用,在Arcgis中也同样支持Json数据,Json与Geometry可以相互转换,达到我们想要的数据. 一.Geometry转换成Json数据 这个实现十分简单,比如我们将一个点转换为Json,这时也同样用到GeometryEngine这个强大的类. Point point = new Point(113, 23); String json = GeometryEngine.geometryToJson(SpatialReference.creat…
GraphicsLayer是图形图层,可以自定义图形添加到地图上.调用GraphicsLayer的addGraphic方法就能添加图形,此方法要一个Graphic对象,此对象的构造方法是Graphic(Geometry geometry, Symbol symbol),前面第一个是要素,而Geometry的子类有Envelope, MultiPath, MultiPoint, Point, Segment,Line, Polygon, Polyline.我们所常用的有点Point,线Polyli…
一.气泡的简单显示 首先我们要获取MapView中的气泡,通过MapView的getCallout()方法获取一个气泡.看一下Callout的简单介绍: 大体的意思是通过MapView获取Callout,可以设置它的内容View,大小,显示的方位等. 写一个简单的测试: public class MainActivity extends Activity { private MapView mapView; private static final String TILED_WORLD_STRE…
我们知道某个Geometry的坐标,但不知道具体的位置,该如何使地图快速定位呢?这时需要用到MapView.setExtent方法,来看下这个方法的介绍:Zooms the map to the given geometry so that geometry fits within the bounds of the map.大体的意思即缩小地图定位到Geometry.上代码: public class MainActivity extends Activity { private MapVie…
GeometryEngine是Arcgis的重要工具类,利用此工具类,可以计算地图上的距离.面积,将点.线.面转化为Json数据,将Json转化为点线面,坐标转换作用非常强大. 一.坐标转化 将用到方法 GeometryEngine.project(Geometry geometry, SpatialReference inputSR, SpatialReference outputSR),第二个为Geometry的坐标,第三个参数为要转换的坐标.如果将84坐标转换为墨卡托坐标代码如下: Poi…
一.GraphicsLayer添加图片 GraphicLayer添加图片Graphic,要用到PictureMarkerSymbol,也是样式的一种.添加代码如下: Drawable drawable = getResources().getDrawable(R.mipmap.ic_launcher); PictureMarkerSymbol pictureMarkerSymbol = new PictureMarkerSymbol(this, drawable); Graphic graphi…
上一讲中我们学会了如何在MapView中添加Graphic要素,那么在百度或高德地图中,当我们点击要素时,会显示出相应的详细信息.在GraphicsLayer中也提供了这样的方法.下面我们来学习在GraphicsLayer中如何点击查找要素. 首先在MapView中添加两个Graphic要素.代码如下,注意这里用Graphic(Geometry geometry, Symbol symbol, Map<String, Object> attributes)来实例化Graphic,Map<…
本系列博客的整理与写作计划如下,计划3个月(至2018.2)完成. 第一部分, 入门季 第二部分, Android基础季 第三部分, Data Flow 季 第四部分, 可视化季 第五部分, GIS常见应用季 第六部分, GIS算法季 第七部分, GIS工程应用案例季 第八部分, 学术季 其中,第一季中的15篇文章的粗略的内容,已借鉴网络某系列博客的原始内容,尚未加工处理与改善,计划17年12月中旬之前完成初稿.…
转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/38902805 ,本文出自[张鸿洋的博客] 1.概述 相信做Android开发的写得最多的就是ListView,GridView的适配器吧,记得以前开发一同事开发项目,一个项目下来基本就一直在写ListView的Adapter都快吐了~~~对于Adapter一般都继承BaseAdapter复写几个方法,getView里面使用ViewHolder模式,其实大部分的代码基本都是类似的…
Android Camera开发系列(下)--自定义Camera实现拍照查看图片等功能 Android Camera开发系列(上)--Camera的基本调用与实现拍照功能以及获取拍照图片加载大图片 上篇讲的都是一些基本的使用,这篇就来自己定义一个相机了 参照Google API:http://developer.android.com/guide/topics/media/camera.html 我们还是在原来的demo上修改,新增一个button,点击跳转到CameraActivity,我们在…
Android Camera开发系列(上)--Camera的基本调用与实现拍照功能以及获取拍照图片加载大图片 最近也是在搞个破相机,兼容性那叫一个不忍直视啊,于是自己翻阅了一些基本的资料,自己实现了一个相机,虽然相机这东西,兼容性不敢恭维,但是用到的地方确实很多,所以今天,我们就一起来学习一下吧 参照Google API:http://developer.android.com/guide/topics/media/camera.html 一.Camera的启动方式 1.调用系统方式 2.自定义…
在上一篇博客:Android商城开发系列(三)——使用Fragment+RadioButton实现商城底部导航栏实现商城的底部导航栏时,里面用到了butterknife,今天来讲解一下的butterknife使用 一.butterknife基本概念 butterknife是一个依赖注入框架,可以省去我们findviewbyid()操作,哈哈~俗话说:“不会偷懒的程序员不是好的程序员!”.作为一名Android开发,是不是经常厌烦了大量的findViewById以及setOnClickListen…
卢海东 著 第1章 揭开神秘面纱——Android系统简介 1   1.1 认识Android系统 2   1.1.1 Android成长历程 2   1.1.2 发行版本 3   1.1.3 得到大家的认可——Android系统的市场份额 3   1.2 Android架构解析 4   1.2.1 Android系统架构图 4   1.2.2 应用程序(Applications) 5   1.2.3 应用程序框架层(Framework) 6   1.2.4 系统运行库(Libraries) 7…
一.功能介绍虹软人证核验 2.0 SDK(以下简称SDK)包含人脸检测.人脸跟踪.人证核验等能力,主要实现人证的1:1比对.其中暴露对外的功能方法有:active 引擎激活init 引擎初始化inputIdCardData 输入身份证图片进行人脸检测onPreviewData 输入视频或图片数据进行人脸检测compareFeature 人证特征比对getVersion 获取sdk版本信息unInit 销毁引擎二.获取SDK1. 进入SDK的申请地址https://ai.arcsoft.com.c…
一.概述 每一个应用程序默认的标题栏(注意与状态栏的区别)只有一行文字(新建工程时的名字),而且颜色.大小等都是固定的,给人的感觉比较单调.但当程序需要美化的时候,那么修改标题栏是就是其中一项内容,虽然Android已经定义了很多样式资源,但更多时候我们需要使用的是自己定义的样式. 二.要求 使用自己定义的样式来修改程序的标题栏. 三.实现 新建工程MyTitle,不用修改main.xml文件,在/res/layout目录下新建布局文件title.xml,在里面添加一个TextView和一个Bu…
我在学习Android第一个问题是在发展进程中遇到Androidclient究竟是怎么用server与数据库交互它?问题是,我有初步接触Android这困扰了我一个非常大的问题.天直到几年前,我突然想到WebService能否够了吧?允许WebService充当server,完毕与server数据库操作相关的事情,而Androidclient仅仅要依照WebService方法參数的要求去调用即可了.在当时我对这个解决方式的实现还没模糊,我想这个问题也是初学Android的朋友肯定会想到的问题.那…
前言 经过了两年多终于完成了这本书,2016年9月份开始写的,到今天为止2年零2个月,本书的内容大部分是去年完成的,看过我去年总结的读者可能知道,去年事情很多太忙了,导致本命年这本书没有上架(有点小小的遗憾). 工作之余喜欢写写技术文章,对自己的技术做一个总结同时也让后来者站在我的肩膀上,之前一直在CSDN发表文章,也是CSDN博客专家,单篇文章上万阅读量,在这里感谢这个平台,让我的文章被更多人看到. 为什么要写这本书? 现在Android方面的书也蛮多的,但是都是讲基础的书籍或者技术都过时了,…
Google Map API Version3 :代码添加和删除marker标记 谷歌地图地理解析和反解析geocode.geocoder详解 Google map markers 百度与谷歌地图瓦片组织方式对比 GPS模块数据放入谷歌地图显示,不准 使用Nominatim进行openstreetmap地址搜索/解析 Google Map API V3开发(1) Google Map API V3开发(2) Google Map API V3开发(3) Google Map API V3开发(4…
转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/38965311,本文出自[张鸿洋的博客] 打开大家手上的项目,基本都会有一大批的辅助类,今天特此整理出10个基本每个项目中都会使用的工具类,用于快速开发~~ 在此感谢群里给我发项目中工具类的兄弟/姐妹~ 1.日志工具类L.java package com.zhy.utils; import android.util.Log; /** * Log统一管理类 * * * */ pub…
原文网址:http://blog.csdn.net/lmj623565791/article/details/38965311 转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/38965311,本文出自[张鸿洋的博客] 打开大家手上的项目,基本都会有一大批的辅助类,今天特此整理出10个基本每个项目中都会使用的工具类,用于快速开发~~ 在此感谢群里给我发项目中工具类的兄弟/姐妹~ 1.日志工具类L.java package com…
OkHttp是Google推荐使用的一个开源的网络请求框架,Android开发中涉及到网络请求和接口调用现在大部分都是使用OkHttp,网上已经有不少人针对OkHttp进行了封装,这里推荐一下鸿洋大神的okhttputils,这是针对OkHttp进行的封装,使用起来特别方便,下载地址:https://github.com/hongyangAndroid/okhttputils. fastjson是一个针对json格式数据的解析处理框架,下载地址:https://github.com/alibab…
今天我们来开发商城的首页[输入搜索框]布局和点击右下角图片回到顶部的效果 搜索功能在App中很常见,尤其是在商城类的项目当中,一般都会提供很强大的搜索功能,App的搜索布局一般都是在App的顶部,如下图所示: 下面我们来看看如何实现这个布局效果: 先来看看HomeFragment类,代码如下所示: package com.nyl.shoppingmall.home.fragment; import android.support.v7.widget.RecyclerView; import an…