ionic实现获取当前位置信息

在ionic程序中,如果需要定位用户所在的城市,可以用如下方法。

1.在ionic程序中,引入百度地图API。打开文件: \src\index.html. 在 head tag中,添加如下代码 , 注意将“您的密钥” 替换成 您申请的密钥

<script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=您的密钥"></script>

2.在需要显示城市信息的页面插入如下代码

<ion-header>
 <ion-navbar color="primary"> 
       <ion-title class="rightFloat" >您所在的城市: {{localCityName}}</ion-title>   
</ion-navbar>
</ion-header>

3.在ionic程序中打开相应页面的.ts文件

import { Component } from '@angular/core';
import { NavController } from 'ionic-angular';

declare var BMap;
declare var BMapLib;
@Component({
  selector: 'page-home',
  templateUrl: 'home.html'
})

export class HomePage {
  localCityName: string;
  constructor(public navCtrl: NavController) {

  }

  ionViewDidLoad() { 
    var myCity = new BMap.LocalCity();
    myCity.get(function (result) {
    var cityName = result.name; 
    //使用localStoage存储cityName. 此处不可以使用this.localCityName = cityName; 因为这里的this 指向的是当前的类, 也就是 function(result)这个类
    localStorage.setItem('currentCity', cityName);
    return cityName;
});

//延迟500毫秒取存储在localStorage中的 cityName 
setTimeout(() => {
   this.localCityName = localStorage.getItem('currentCity'); 
}, 500);   
  }
}

通过延迟函数,这样可以确保在map页面第一次加载的时候,localCityName是有值的。当前城市即可显示,而不是显示为空。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值