161913、ionic + 高德地图定位

实例一:

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);*/
    };
时间: 2024-10-10 16:02:54

161913、ionic + 高德地图定位的相关文章

高德地图定位,并计算当前定位点和目标点距离

效果图: 1.下载高德地图和定位sdk,将demo中arm文件夹和jar包复制到libs中. 2.gradle 文件 apply plugin: 'com.android.application' android { compileSdkVersion 23 buildToolsVersion "23.0.3" sourceSets{ main{ jniLibs.srcDirs=['libs'] } } defaultConfig { applicationId "myapp

Android开发实现高德地图定位

一. 要实现高德地图定位呢,首先需要做好以下几步准备: 1. 在高德开放平台注册帐号 注册地址:http://lbs.amap.com 2. 在开发中下载Android平台下的 地图SDK和定位SDK文件 进入相关下载下载自己想要的功能或文件,图只是截取了地图SDK的页面,定位SDK也是一样,按自己想要的文件下载.下载完成后解压得到: - 3D地图包解压后得到:3D地图显示包"AMap_3DMap_VX.X.X_时间.jar"和库文件夹(包含armeabi.arm64-v8a等库文件)

Android之高德地图定位

最近在写天气预报的app,写完以后会将源码开源,今天先写app中用到的定位问题,现在定位的SDK有很多高德地图.百度地图.腾讯地图等,腾讯地图没有用过不予评价,高德地图和百度地图对比我觉得从开发平台的给的demo来说,高德地图给的demo中的代码可读性更强,模块整理的也很好,从准确性上说个人觉得高德地图的准确性比百度地图要好很多,以前做的项目中有个导航功能,刚开始老大说用百度地图说用户量大,精度应该也更大,可是事实却不是如此,我记得当时用到了地理编码和反地理编码,误差有时候有1-2公里(不知道现

高德地图定位

<input class="map_input_id" type="hidden" data-name-id="瑞泰口腔医院" data-map-wd="39.880629" data-tel-id="010-59361200" data-map-jd="116.388211" data-img-id="http://p0.meituan.net/dpdeal/c344a

高德地图 定位和位置信息获取

- (void)viewDidLoad { [super viewDidLoad]; self.navigationController.navigationBarHidden = YES; _mapView = [[MAMapView alloc] init]; _mapView.frame  =CGRectZero; [self.view addSubview:_mapView]; _mapView.showsUserLocation = YES; } -(void)mapView:(MAM

Android Studio之高德地图实现定位和3D地图显示

在应用开发中,地图开发是经常需要使用的"组件",国内比较出名的是就是百度地图和高德地图. 此博客讲的是高德地图实现定位和3D地图显示,并标注相应位置,话不多说,先看看效果,在上代码. 效果如图: 首先注册高德成为开发者(打开高德地图,点击底部的开发者平台),创建应用,按照要求填写相应信息,如下图: 途中包含了发布版的SHA1安全码和测试版SHA1安全码,两者的值可以看  博客 :Android Studio apk打包,keystore.jks文件生成,根据keystore密钥获取SH

android利用GPS和高德地图获取定位案例

一.main.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" an

高德地图之定位篇-----&gt;定位、预测天气、围栏、搜索周边、行踪轨迹

跟集成百度地图一样,首先获取KEY,获取方式(官方的截图) 这篇主要是讲解高德地图定位篇,高德地图定位篇跟高德地图篇是不同的sdk,分离开了... 来看下配置流程吧,配置是第一位的 1.从网站下载并解压得到定位包"Android_Location_V1.xx.jar". 2.开发工程中新建"libs"文件夹,将定位包拷贝到 libs 的根目录下.拷贝完成后的工程目录(以 V1.0.4 为例)如图所示: image 注意:若您在 Eclipse 上使用 adt22 版

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

一.在进行地图开发过程中,我们一般能接触到以下三种类型的地图坐标系: 1.WGS-84原始坐标系,一般用国际GPS纪录仪记录下来的经纬度,通过GPS定位拿到的原始经纬度,Google和高德地图定位的的经纬度(国外)都是基于WGS-84坐标系的:但是在国内是不允许直接用WGS84坐标系标注的,必须经过加密后才能使用: 2.GCJ-02坐标系,又名"火星坐标系",是我国国测局独创的坐标体系,由WGS-84加密而成,在国内,必须至少使用GCJ-02坐标系,或者使用在GCJ-02加密后再进行加