实例一:

var AMapArea=document.getElementById('amap');
AMapArea.parentNode.style.height="100%";
//$scope.AMapId='container';
$scope.mapObj;//存放初始化的地图对象
//$scope.initAMap=function(){
var position=new AMap.LngLat(116.397428,39.90923);
$scope.mapObj=new AMap.Map("container",{
resizeEnable: true,
zoom: 14,
center: [116.39,39.9]
});
$scope.mapObj.plugin(['AMap.Geolocation'], function () {
var geolocation = new AMap.Geolocation({
enableHighAccuracy: true,//是否使用高精度定位,默认:true
timeout: 10000, //超过10秒后停止定位,默认:无穷大
maximumAge: 0, //定位结果缓存0毫秒,默认:0
convert: true, //自动偏移坐标,偏移后的坐标为高德坐标,默认:true
showButton: true, //显示定位按钮,默认:true
buttonPosition: 'LB', //定位按钮停靠位置,默认:'LB',左下角
buttonOffset: new AMap.Pixel(10, 20),//定位按钮与设置的停靠位置的偏移量,默认:Pixel(10, 20)
showMarker: true, //定位成功后在定位到的位置显示点标记,默认:true
showCircle: true, //定位成功后用圆圈表示定位精度范围,默认:true
panToLocation: true, //定位成功后将定位到的位置作为地图中心点,默认:true
zoomToAccuracy:true //定位成功后调整地图视野范围使定位位置及精度范围视野内可见,默认:false
});
$scope.mapObj.addControl(geolocation);
AMap.event.addListener(geolocation, 'complete', onComplete);//返回定位信息
AMap.event.addListener(geolocation, 'error', onError); //返回定位出错信息
});
function onComplete(dt)
{
var position=dt.position;
var _latitude = position.getLat();
var _longitude = position.getLng();
$scope.mapObj.setCenter([_longitude,_latitude]);
console.log(_latitude,_longitude);
}

实例二、

function getLocation() {
var deferred = $q.defer(); if (!navigator.geolocation)
{
console.log("不支持");
return;
}
console.log("start");;
navigator.geolocation.getCurrentPosition(function (position) {
var _locationGaps = [];
console.log("ok");
var _latitude = position.coords.latitude;
var _longitude = position.coords.longitude;
$scope.mapObj.setCenter([_longitude,_latitude]);
console.log(_latitude,_longitude); }, function (error) {
switch(error.code)
{
case error.PERMISSION_DENIED:
console.log("User denied the request for Geolocation.");
break;
case error.POSITION_UNAVAILABLE:
console.log("Location information is unavailable.");
break;
case error.TIMEOUT:
console.log("The request to get user location timed out.");
break;
case error.UNKNOWN_ERROR:
console.log("An unknown error occurred.");
break;
}
// 如果获取经纬度时出错, 提示错误
//toaster.pop('error','无法获取您的地理位置','请检查您是否禁止本应用获取您的当前位置');
console.log('无法获取您的地理位置','请检查您是否禁止本应用获取您的当前位置');
deferred.reject(error);
});
return deferred.promise;
};

实例三、

function getLocation1() {

      navigator.geolocation.getCurrentPosition(onSuccess, onError, { maximumAge: 3000, timeout: 5000, enableHighAccuracy: true });
function onSuccess(position) {
var lat = position.coords.latitude;
var long = position.coords.longitude;
$scope.mapObj.setCenter([lat,long]);
console.log(lat,long);
//appvalues.showmessage("已经成功定位.");
}
function onError(err) {
//appvalues.showmessage("无法获取地理位置.");
console.log("无法获取地理位置.");
console.log(JSON.stringify(err));
return;
}
//获取地理位置
/*document.addEventListener("deviceready", function (success) {
var posOptions = { timeout: 5000, enableHighAccuracy: false };
$cordovaGeolocation
.getCurrentPosition(posOptions)
.then(function (position) {
var lat = position.coords.latitude;
var long = position.coords.longitude;
$scope.mapObj.setCenter([lat,long]);
console.log(lat,long);
//appvalues.showmessage("已经成功定位.");
}, function (err) {
//appvalues.showmessage("无法获取地理位置.");
console.log("无法获取地理位置.");
console.log(JSON.stringify(err));
return;
});
}, false);*/
};

160913、ionic + 高德地图定位的更多相关文章

  1. 高德地图定位不到 报错 location Error, ErrCode:7, errInfo:KEY错误 请到http://lbs.amap.com/api/android-location-sdk/abouterrorcode/查看错误码说明.

    出现该问题的可能是高德地图的配置不准确: 仔细配对一下 看sha1 是否是通过应用签名生成的  要区分发布版的sha1 跟调试版的sha1  是不相同的 (小编我第一次反这种错误的时候 是因为我把高得 ...

  2. android开发对应高德地图定位服务进度一

    进行android的高德地图开发首先需要进入高德地图的控制台进行注册登录.之后创建新的应用并且绑定软件得到相应的key. 这里面需要找到自己软件对应的多个SHA1.这里有发布版和调试版,以及对应的软件 ...

  3. ionic 添加地图定位功能

    由于项目需求,需要一个定位功能,通过google或百度,搜到一个cordova-plugin-geolocation的插件,在ios上可以用,但是在android就呵呵了,原因就不说了,大家都知道.所 ...

  4. Android 高德地图定位

    创建Key 打开高德开发平台 → 我的应用 → 创建应用 → 创建新Key 说明: 1.发布版安全码获取:用自己的签名打包成apk安装软件,用SHA1工具查看 2.调试版安全码获取: 直接运行安装软件 ...

  5. Android开发实现高德地图定位

    1.获取Key 参考官方文档:http://lbs.amap.com/api/android-location-sdk/guide/create-project/get-key 对于签名文件的获取建议 ...

  6. 高德地图定位api以及导航和定位 位置的偏差

    <script type="text/javascript" src="http://webapi.amap.com/maps?v=1.4.2&key=37 ...

  7. Flutter 使用高德地图定位

    amap_location 包 获取debug SHA1 // 使用debug.keystore获取debug SHA1 C:\Users\ajanuw\.android>keytool -li ...

  8. 高德,百度,Google地图定位偏移以及坐标系转换

    一.在进行地图开发过程中,我们一般能接触到以下三种类型的地图坐标系: 1.WGS-84原始坐标系 一般用国际GPS纪录仪记录下来的经纬度,通过GPS定位拿到的原始经纬度,Google和高德地图定位的的 ...

  9. 安卓---高德地图API应用

    说明:定位需要导入android_location 的jar包,如果没有会报错,这个官方网站好像找不到,这是我在网上找到的一个链接 http://download.csdn.net/detail/ra ...

随机推荐

  1. In App Purchase Statuses

    In App Purchase StatusesThe following are the available states that can be assigned to your in app p ...

  2. 1、JavaScript入门篇

    一.你知道,为什么JavaScript非常值得我们学习吗? 1. 所有主流浏览器都支持JavaScript. 2. 目前,全世界大部分网页都使用JavaScript. 3. 它可以让网页呈现各种动态效 ...

  3. OGRFeature的DestroyFeature方法

    Ogr的销毁DestroyFeature方法: void OGRFeature::DestroyFeature( OGRFeature *poFeature ) { delete poFeature; ...

  4. MongoDB概念解析

    数据库 MongoDB默认把_id设置为主键(_开头的键是保留的) 数据库名必须为小写 RDBMS与MongoDB对应的术语比较 需注意 文档中的键/值对是有序的. 文档中的值不仅可以是在双引号里面的 ...

  5. iOS 隐藏系统的导航,使用自定义的导航

    #import <UIKit/UIKit.h> @interface AppDelegate : UIResponder <UIApplicationDelegate> @pr ...

  6. iOS - (简单平移动画/弹出View的使用)

    在iOS 开发中,使用平移动画的频率越来越高,给人的感觉就是很炫酷很流畅,起到增强用户体验的作用.在APP开发中实现动画效果有很多种方式,但我目前是使用较多的是平移动画,顺便也在此做一些小小的总结,大 ...

  7. InitializingBean afterPropertiesSet

    package org.test.InitializingBean; import org.springframework.context.support.ClassPathXmlApplicatio ...

  8. 数据块损坏(block corruption)

    分为物理损坏和逻辑损坏-物理损坏一般指数据块头部不可以访问.数据块校验值不合法,数据块格式不再是oracle承认的格式-逻辑损坏一般是在物理性结构完整的情况下,数据的内容在含义上不正确,比如保存了不允 ...

  9. PostgreSQL simple select(group by and insert into ...select)

    warehouse_db=# create table student(number int primary key,name varchar(20),age int);CREATE TABLEwar ...

  10. PostgreSQL 中日期类型转换与变量使用及相关问题

    PostgreSQL中日期类型与字符串类型的转换方法 示例如下: postgres=# select current_date; date ------------ 2015-08-31 (1 row ...