1、定位方法
    5+App定位方法:5+ API中的Geolocation模块
    Geolocation目前支持h5内置的定位,百度,高德。h5内置定位支持wgs84坐标系;百度支持gcj02/bd09/bd090||坐标系;高德支持gcj02坐标系。定位模块优先顺序(高德>百度>h5内置),高德和百度的使用必须进行相关参数的配置才可以使用(打包之后,必须进行配置,在使用hbuilder自定义基座真机调试可以不需要,因为hbuilder自定义基座内置了这两个地图模块,好像是两个都内置了)
 
2、定位的实现
    system -- h5内置定位
    baidu   -- 百度定位
    amap   -- 高德定位
    这里比较模糊,懒得写了,关于更多Geolocation参数说明你可以去这里http://www.dcloud.io/runtime.html下载这个应用查看,或者是去这里http://www.html5plus.org/doc/h5p.html进行查看
 
出现的问题, 在打包后使用system(wgs84)只能获取到当前位置的经纬度信息,没有位置信息(原因不知,可能系统内置定位模块不支持地理反编码)
 
解决方案:注意坐标系
    1、获取到经纬度信息, 然后使用地理反编码获取位置信息(我在这里使用的是百度的API,因为百度可以拿到单独的省市区的数据,也可以拿到完整的数据)
        在百度的地理编码中,可以使用两种方式来实现
            (1)、使用JS API中的地址解析
var map = new BMap.Map("allmap");
var point = new BMap.Point(116.331398,39.897445);
map.centerAndZoom(point,12);
var geoc = new BMap.Geocoder(); map.addEventListener("click", function(e){
var pt = e.point;
geoc.getLocation(pt, function(rs){
var addComp = rs.addressComponents;
alert(addComp.province + ", " + addComp.city + ", " + addComp.district + ", " + addComp.street + ", " + addComp.streetNumber);
});
}); //具体参照:http://lbsyun.baidu.com/jsdemo.htm#i7_2

(2)、使用 WEB API中的全球逆地理编码接口

http://api.map.baidu.com/geocoder/v2/?callback=renderReverse&location=35.658651,139.745415&output=json&pois=1&ak=您的ak //GET请求

//这个接口需要自己写一个服务代理一下, 直接js访问会出现跨域
//手机端好像是没有跨域问题的,忘记了.... //详情参照:http://lbsyun.baidu.com/index.php?title=webapi/guide/webservice-geocoding-abroad
 
    至于这两种方法的区别:我是不知道的
 
2、使用百度或者高德定位模块(这里我使用的高德, 因为我的百度开发者账号忘记了,手机卡不小心丢了,异地不能补卡,因为我不记得服务密码)
        操作详情:http://ask.dcloud.net.cn/article/29 //地图插件配置
        SHA1我使用的是jdk自带的一个工具keytool, 关于keytool操作自行百度,在这里你也可以使用云端打包后使用的DCloud公用证书(http://ask.dcloud.net.cn/article/68),只要保持第三方服务中你配置的SHA1和包名和你的应用的证书的SHA1和包名一致就好了
 
下图是高德地图应用配置

下图是 打包的配置

5+App使用定位的更多相关文章

  1. 上帝之眼APP——实时定位监控、即时通讯

    项目地址 https://github.com/guoyaohua/GodsEYE 开发环境 Android studio 2.3.1 极光推送IM SDK 百度鹰眼SDK 背景介绍 定位监控系统,不 ...

  2. App元素定位

    1.元素定位(采用Appium-desktop自带的工具) 1.1将初始化参数复制进去校验json格式正确且保存后,点击start session 初始化参数来源如下: # 定义启动设备需要的参数 d ...

  3. IOS 微信、QQ、叮叮等APP虚拟定位 实在太好用了

    前不久爱思助手更新了最新版本:V7.96,同时更新了好几个功能,包括给ios设备修改虚拟定位功能,想要给手机修改,我们需要电脑下载爱思助手最新版本V7.96,数据线连接电脑修改. 借助爱思助手的虚拟定 ...

  4. XP定位(APP元素定位)

    Appium app自动化测试经验分享-Xpath定位总结 在我看来,自动化测试中元素定位的倚天剑和屠龙刀莫过于 Xpath和CSS,但CSS只用于Web(之前已经分享过),这次就分享下Xpath的定 ...

  5. App元素定位三种方法

    来自博客: http://testingpai.com/article/1595507262082 以下方法操作前必须确保有手机设备连入电脑,检测是否有手机连入命令 adb devices 第一种:A ...

  6. 【APP问题定位(二)】Charles定位工具

    Charles工具是APP测试中简单有使用的一款测试工具,可以通过捕获request和response的信息初步确定bug的原因所在. 本文将从安装.使用两个方面来介绍. 安装 点击这里进入下载页,注 ...

  7. APP元素定位和操作

    webdriver 提供了八种元素定位方法: 在 Python 语言中对应的定位方法如下:find_element_by_id()find_element_by_name()find_element_ ...

  8. app自动化定位:UIautomation的用法

    UIautomation定位的优点: 速度比xpath定位快,UIautomation是Android的工作引擎 缺点: 没有idea提示 UIautomation使用方法: AndroidDrive ...

  9. 【APP问题定位(一)】夜神模拟器安装及问题

    本文较少下夜神模拟器的使用,包括了夜神安装,APK安装,开发者选项打开. 安装夜神模拟器 到    夜神模拟器     网站自行下载安装文件,双击exe文件安装,选择"自定义安装" ...

随机推荐

  1. sklearn的快速使用

    传统的机器学习任务从开始到建模的一般流程是:获取数据 -> 数据预处理 -> 训练建模 -> 模型评估 -> 预测,分类.本文我们将依据传统机器学习的流程,看看在每一步流程中都 ...

  2. vue之指令系统

    所谓指令系统,大家可以联想咱们的cmd命令行工具,只要我输入一条正确的指令,系统就开始干活了. 在vue中,指令系统,设置一些命令之后,来操作我们的数据属性,并展示到我们的DOM上. OK,接下来我们 ...

  3. 从经典面试题看java中类的加载机制

    1.概述 类加载是Java程序运行的第一步,研究类的加载有助于了解JVM执行过程,并指导开发者采取更有效的措施配合程序执行,对理解java虚拟机的连接模型和java语言的动态性都有很大帮助. 由于Ja ...

  4. bootstrap弹出模态框

    (1)引入jquery, bootstrap相关的 jquery下载地址: https://jquery.com/download/ bootstrap下载地址: https://v3.bootcss ...

  5. SpringMVC:JSON形式输出(基于Fastjson)

    在Spring3.0中,@ResponseBody标记可以将对象"封装"为JSON形式的数据,并输出,下面的例子中使用的是阿里的Fastjson JSONaz解析工具,在sprin ...

  6. win8 metro 自己写摄像头拍照项目

    这个项目不是用的系统自带的CameraCaptureUI.是自己写的摄像头的调用,界面做的不好所以,不放了.可是能够实现拍照功能: 以下是using 程序命名空间: using Windows.Med ...

  7. UIStoryboard跳转界面

    /**1.创建Storyboard,加载Storyboard的名字,这里是自己创建的Storyboard的名字*/ UIStoryboard *storyboard = [UIStoryboard s ...

  8. 【剑指offer】变态跳台阶

    一.题目: 一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级.求该青蛙跳上一个n级的台阶总共有多少种跳法. 二.思路: f(n)=f(n-1)+f(n-2)+...+f(0),f(1) ...

  9. 空类指针为什么可以调用类的成员函数 以及 A(){}和A();

    1. 代码及问题 #include <iostream> using namespace std; class A { public: A() {} //A *p = new A()时:此 ...

  10. 实习培训——Java基础(3)

    实习培训——Java基础(3) 1 Java 继承 1.1  super和this关键字 super关键字:我们可以通过super关键字来实现对父类成员的访问,用来引用当前对象的父类. this关键字 ...