高德地图android 缓存,高德地图定位不刷新,感觉有缓存
/**
* 仅获取定位(获取地址和经纬度)
*/
self.getAddr = function (callback) {
//判断平台(安卓平台采用高德定位,ios平台采用系统定位)amapLBS 在ios下定位非常慢
var os = app.device.os;
if (os == 'ios') {
//先调用系统定位获取经纬度
api.getLocation(function (ret, err) {
if (ret && ret.status) {
//再根据经纬度获取地址
geocode(ret.longitude, ret.latitude, callback);
} else {
callback(false);
}
});
} else if (os == 'android') {
common.aMapLBS(callback);
};
};
//ios 使用高德web服务,http://lbs.amap.com/api/webservice/guide/api/georegeo
function geocode(lon, lat, callback) {
var location = lon + ',' + lat;
var url = 'http://restapi.amap.com/v3/geocode/regeo?location=' + location + '&key=0c8be3011cbc3c0a39697e5220fb7529&radius=10';
api.ajax({
url: url,
method: 'get',
dataType: 'json',
cache: true
}, function (ret, err) {
if (ret && ret.status) {
var result = {};
result.attendanceAddr = ret.regeocode.formatted_address;
result.lon = lon;
result.lat = lat;
result.province = ret.regeocode.addressComponent.province;
result.city = ret.regeocode.addressComponent.city;
callback(result);
} else {
common.ajaxError(ret, err, null, '定位失败');
};
});
};
//目前仅用于安卓定位
self.aMapLBS = function (callback) {
//安卓平台也要返回经纬度和地址
var aMapLBS = api.require('aMapLBS');
aMapLBS.configManager({
accuracy: 'best',
filter: 1.0
}, function (ret, err) {
if (ret.status) {
// getLocation();
singleAddress()
} else {
console.log('请检查', '配置定位信息失败');
callback(false);
}
});
//地理定位
function getLocation(result) {
aMapLBS.startLocation(function (ret, err) {
if (ret && ret.status) {
//返回经纬度
result.lon = ret.lon;
result.lat = ret.lat;
callback(result)
} else {
callback(false);
}
aMapLBS.stopUpdatingLocation();
});
};
//逆地理定位
function singleAddress(locationResult) {
aMapLBS.singleAddress({
timeout: 10
}, function (ret, err) {
if (ret && ret.status) {
var result = ret.address;
//考勤地址(街道+地点)
result.attendanceAddr = result.street + result.AOIName + result.POIName;
//callback(result);
getLocation(result);
} else {
callback(false);
}
// aMapLBS.stopUpdatingLocation();
// aMapLBS = null;
});
};
};
高德地图android 缓存,高德地图定位不刷新,感觉有缓存相关推荐
- 高德地图 Android API 的基站定位原理及使用方法
基站定位是根据通讯网络基站信息进行定位的方法,此定位方法需要有较丰富的基站地理信息数据支持.高德地图目前的基站数据库支持 GSM 网络和CDMA网络. 定位机制 Android 平台主要使用三个 Cl ...
- 仿百度地图 android,仿百度地图街景实现
使用过百度地图的同学知道,它有个街景功能,可以看到许多地方的实景.这里就其街景内容的实现,进行下学习. 在百度地图SDK的官网上可以看到,百度对开发者提供了很多相关的内容,方便我们进行学习.关于SDK ...
- 百度地图 Android SDK - 个性化地图
什么是百度个性化地图Android SDK? 百度个性化地图Android SDK是一套基于Android 2.2及以上版本号设备的应用程序接口,您能够通过该套接口实现主要的地图功能,而且能够定制地图 ...
- 关于高德地图Android开发时地图只显示一次、第二次打开不定位的解决办法
我按照高德官方Demo改的 第一次是可以定位的,如左图 第二次就不能定位了,如右图 在onDestory中把aMap置为空即可 aMap = null; 修改完如下图: 原理是第二次打开时aMap不为 ...
- android高德地图自定义地图,Android实现高德地图自定义样式
放置Android工程下的assets文件夹,在assets文件夹里面创建了一个styleMap子文件夹.将里面的文件写到sd卡中. 写出文件代码: try { // 先获取系统默认的文档存放根目录 ...
- android access 腾讯地图,Android 腾讯地图 选点定位,仿微信发送位置
效果图: 不需要集成定位.地图,然后标记 回调等繁琐的操作,你只需要一个webview,使用腾讯地图的地图选点组件即可. 申请key 接入指引 使用地图选点组件 调用方式一: 通过iframe内嵌调用 ...
- Android开发画出中国地图,Android 绘制中国地图
最近的版本有这样一个需求: 有 3 个要素: 中国地图 高亮省区 中心显示数字 面对这样一个需求,该如何实现呢? 高德地图 因为项目是基于高德地图来做的,所以很自然而然的想到了高德.但是当查阅高德地图 ...
- android osm 离线地图,android openStreetMap 离线地图
一 Mobile_Atlas_Creator_1.8的使用 png1.png 1.Map source 选择Microsoft Maps China(因为其他地图源都不怎么行,没开APN的问题?) 2 ...
- android 加载谷歌地图,Android调用google地图生成路线图实现代码
Android程序调用本机googlemap,传递起始和终点位置,生成路线图 if (wodeweizhiPoint != null) { if (wodeweizhiPoint.getLatitud ...
- 百度地图android自定义文字,Android SDK | 百度地图API SDK
什么是百度地图Android SDK? 百度地图 Android SDK是一套基于Android 2.1及以上版本设备的应用程序接口, 您可以通过该接口实现丰富的LBS功能: 地图:提供地图(2D.3 ...
最新文章
- 实战:基于深度学习和几何的3D边界框估计
- python笔试题奥特曼打怪兽_python笔试做错的题目
- Cordova将vue项目打包成apk(全使用命令行)
- 【软件构造】(转) 设计模式
- reactive stream协议详解
- 紧急不代表重要:管理时间的六个秘密
- 《虚无的十字架》—— 读后总结
- mysql 查看表格scott_在mysql中创建 oracle scott 用户的四个表及插入初始化数据
- C语言中 二维数组在内存中的存放顺序是,在计算机中二维数组的元素是按行顺序存放的,即在内存中,先顺序存放二维数组第一行的元素,再顺序存放二维数组第二行的元素,以此类推 答案:对...
- C++中new int()与new int[]区别
- 10 LVS负载均衡群集-NAT
- 史上最全的Nokia3230参数大全
- FPGA 20个例程篇:7.FLASH读写断电存储
- 打开Word时会出现错误的解决办法
- CI框架使用PHPExcel生成快递面单
- 基于SSM的医院管理系统
- 分享塑胶模具设计思路与流程,建议收藏!
- zzuli1728(数学期望,组合数)
- UAP平台常见数据有效性数据校验
- 蜜友工作室来博客园开博了