android显示超图地图,超图---简单地图显示
最近做了地图的功能,用了超图,就是简单实现显示当前位置。
前期
首先导入超图的sdk,我用的是iclient_android_7.1.0.jar。
权限及布局
网络访问权限:
GPS定位权限: 这是精确定位的权限,如果用到网络定位或基站定位,加入
布局文件:
"http://schemas.android.com/apk/res/android"
android:id="@+id/container"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
android:id="@+id/mapview"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:clickable="true"
android:enabled="true" />
"@+id/btn_location"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
android:layout_marginTop="10dip"
android:background="@drawable/location_marker" />
MapView是图层,在图层上再放置覆盖物,如定位的按钮btn_location。
显示当前位置
主界面:
mapView = (MapView) findViewById(R.id.mapview);
LayerView layerView = new LayerView(this);
layerView.setURL(Constant.URL_MAP);
mapView.setBuiltInZoomControls(true);
mapView.addLayer(layerView);
final Drawable drawableBlue = getResources().getDrawable(R.drawable.blue_pin);
new Handler().postDelayed(new Runnable()
{
@Override
public void run()
{
LocationUtil.initLocation(mapView, drawableBlue);
}
}, 2000);
LocationUtil:
public static void initLocation(MapView view, Drawable drawable)
{
if (view == null)
{
return;
}
mapView = view;
context = view.getContext().getApplicationContext();
if (context == null)
{
return;
}
overlay = new DefaultItemizedOverlay(drawable);
if (!mapView.getOverlays().contains(overlay))
{
mapView.getOverlays().add(overlay);
}
// times 用来计数第几次定位
times = 1;
mLocationManager = (LocationManager) context
.getSystemService(Context.LOCATION_SERVICE);
gpsListener = new MyLocationListener();
mLocationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER,
5000, 3, gpsListener);
}
private static class MyLocationListener implements LocationListener
{
@Override
public void onLocationChanged(Location location)
{
Point2D gp = null;
String title = "当前位置";
try
{
gp = new Point2D(location.getLongitude(),
location.getLatitude());
overlayItem = new OverlayItem(gp, title, title);
overlay.clear();
overlay.addItem(overlayItem);
if (times < 2)
{
mapView.getController().animateTo(gp);
mapView.getController().setZoom(mapView.getMaxZoomLevel());
}
// 重新onDraw一次
mapView.invalidate();
times++;
// Toast.makeText(context, title, Toast.LENGTH_SHORT).show();
} catch (Exception e)
{
e.printStackTrace();
Toast.makeText(context, e.toString(), Toast.LENGTH_SHORT)
.show();
}
}
@Override
public void onProviderDisabled(String arg0)
{
System.out.println(arg0);
}
@Override
public void onProviderEnabled(String arg0)
{
System.out.println(arg0);
}
@Override
public void onStatusChanged(String arg0, int status, Bundle arg2)
{
}
}
LayerView是覆盖物图层,防止覆盖物。layerView.setURL(Constant.URL_MAP),放入你的iclient地址。mapView.setBuiltInZoomControls(true);设置可放大缩小。
postDelayed,之所以要延时发送,主要是我在用的时候,发现如果地图图层出不来的话,就永远出不来了,所以认为等待2s,等待地图图层显示出来。
new Point2D(location.getLongitude(), location.getLatitude());生成地图上的二维点。
overlay.addItem(overlayItem);将覆盖物放入覆盖物图层。
mapView.getController().animateTo(gp);设置地图中心点。
mapView.getController().setZoom(mapView.getMaxZoomLevel());设置地图缩放等级。
mapView.invalidate();地图重绘。
这样就简单的实现了超图的定位显示功能,因为百度不到相关资料,所以在这儿分享一下。
android显示超图地图,超图---简单地图显示相关推荐
- 百度步行导航加poi搜索android,【百度地图】带地图显示控件、导航控件、POI查找控件...
标题: [完全开源]百度地图Web service API C#.NET版,带地图显示控件.导航控件.POI查找控件 概述: 源代码主要包含三个项目,BMap.NET.BMap.NET.Windows ...
- android 显示百度地图的静态图片
在listview中要显示地图,使用百度地图的MapView显示感觉有点卡,就想能不能把地图截图下来显示,在查找资料的过程中发现百度提供了获取静态地图的方法,只需要自己拼装url,就能得到一张地图的静 ...
- Android Studio+百度地图API实现简单gis移动端App
实习说明: 由于很多内容网上都是详细说明,但是我在帮助同学们解决问题过程遇到许多奇怪的问题,花了很多时间去解决,网上查不到,所以值得我记录下来,让后面的学弟学妹节省大部分时间!!同时我也会将该文章发布 ...
- 30.Android之百度地图简单学习
今天用了下百度地图,简单写了一个例子,记录下. 一.申请AK(API Key) 要想使用百度地图sdk,就必须申请一个百度地图的api key.申请流程挺简单的. 首先注册成为百度的开发者,然后打开h ...
- Android如何实现地图定位?Android studio+百度地图API+Android6.0系统实现地图显示、地址设置、点击地图定位功能(详细)
文章说明:本文初衷是为了记录毕设学习过程,避免忘记操作流程.该功能是毕业设计的Android软件端的功能之一,本文将从获取百度地图密钥(AK)开始,详细地对地图定位配置和相关代码进行说明,文末将附上实 ...
- android 百度地图闪退,Android使用百度地图出现闪退及定位时显示蓝屏问题的解决方法...
使用百度地图出现闪退 一般情况下出现闪退是在AndroidManifest.xml文件中未在application标签中配置 android:name="com.baidu.lbsapi.A ...
- android 卫星地图,推荐一款亲测好用,可显示卫星地图,高斯平面直角坐标和计算图幅编号等功能的安卓定位导航软件~...
推荐一款亲测好用,可显示卫星地图,高斯平面直角坐标和计算图幅编号等功能的安卓定位导航软件-步行者坐标导航. 一.软件下载 小米应用商店搜:步行者坐标导航或 http://appcdn.wapx.cn/ ...
- Android调用高德地图直接导航的简单实例
在学校最近做了一个小APP,脑子笨怕忘,写个博客记录一下. 简单来说就是保存地点,然后单击直接打开高德地图APP并从当前所在地导航到保存的地点.因为是小型学习用的,所以保存地点采用了Android本地 ...
- Android—百度地图的简单使用
目录 百度地图 创建应用 获取开发版SHA1 获取发布版SHA1 设置包名 获得一个应用 创建模块 下载SKD HelloBaiDuMap 1.配置AndroidManifest.xml文件 2.在布 ...
- centOS7系统安装超图地图服务iServer-6R步骤
centOS7系统安装超图地图服务iServer-6R步骤 安装步骤 1. 安装环境 2.开始安装 3.启动iServer服务 安装步骤 1. 安装环境 操作系统:centOS7.5 中间件:Tomc ...
最新文章
- poj 3254 Corn Fields (状态压缩DP)
- vb 搜索指定目录下的指定类型文件
- BIO与NIO、AIO的区别(这个容易理解)
- [Debug]IOS微信浏览器不支持form表单的target=_blank
- 卷积输出的记录,为什么是([3, 0, 1, 2])
- java instantiation,Instantiation of List (Java)
- springboot jwt token前后端分离_7个开源的 Spring Boot 前后端分离项目,一定要收藏!...
- 雷军变身IPO收割机:坐拥4家上市公司,今年至少收获8个IPO!
- PowerToys 0.19.0 发布,微软开发的免费实用工具集
- NOIP2018赛前停课集训记——最后的刷板子计划
- Session重点整理
- 程序员面试金典——1.1确定字符互异
- 【VMware vSAN 6.6】5.3.硬件兼容性:vSAN硬件服务器解决方案
- Java疯狂讲义读书笔记第五章
- [深度学习]如何替换YoloV5的主干网络:Flexible-Yolov5
- Web课程设计-仿当当网-增删改查-java+jsp+mysql-期末大作业
- Android多维商品属性SKU选择
- Caffe base_lr递减
- OFDM学习笔记(六)(峰均值问题)
- fbm是什么意思_fba是什么意思
热门文章
- 软件供应链安全现状分析与对策建议
- 计算机二级报考哪个科目比较好?
- ADF4351应用电路
- matlab中arma,ARMA模型的Matlab代码.doc
- TMS320F280049C 串行通信接口Serial Communications Interface (SCI)之RS485通信(多摩川编码器)
- 详解|天猫搜索前端技术历代记
- 2022年7月国产数据库大事记-墨天轮
- 仿真工具NS3的基本知识
- 苹果手机键盘html代码大全,iPhone拨号键盘中的*和#有什么作用 iPhone特殊代码分享...
- 计算机硬盘的常用分区工具,常用的几款分区合并工具推荐,合理使用电脑硬盘...