百度api获取当前位置(备忘)

1、百度地图开放平台 创建我的应用

        复制访问应用(AK)

2、配置百度地图 

 index.html配置

<script src="http://api.map.baidu.com/api?v=2.0&ak=百度AK"></script>

 vue.config.js配置

module.exports = {
    configureWebpack: {
        externals: {
            'BMap': 'BMap' // 百度地图配置
        }
    },
}

3、vue代码

<script>
    // 引入
    import BMap from "BMap";

    export default {
      data(){}
      methods:{
      // 根据经纬度获取定位描述
        setLocation (point) {
          return new Promise((rosolve, reject) => {
            var geoc = new BMap.Geocoder();
            geoc.getLocation(point, function (rs) {
              var addComp = rs.addressComponents;
              var result = addComp.province + addComp.city + addComp.district +             addComp.street + addComp.streetNumber;
              rosolve(result);
            });
          })
        },
        // 获取当前定位位置
        local () {
          return new Promise((resolve, reject) => {
            let that = this
            // 创建定位对象
            let geolocation = new BMap.Geolocation();
            geolocation.getCurrentPosition(async function (r) {
              let result = {
                point: {},
                label: ''
              }
              if (this.getStatus() == BMAP_STATUS_SUCCESS) {
                // console.log("当前位置经度为:"+r.point.lng+"纬度为:"+r.point.lat);
                result.point.lat = r.point.lat
                result.point.lng = r.point.lng
                result.label = await that.setLocation(r.point);
              } else {
                alert(this.getStatus())
                console.log('无法定位到您的当前位置,导航失败,请手动输入您的当前位置!' + this.getStatus());
              }
              resolve(result);
            }, { enableHighAccuracy: true });
            navigator.geolocation.clearWatch(geolocation);
          })
        },
    
        // 点击打卡
        async clockBtn () {
              let result = await this.local()
              var place=result.label  // 打卡地点
        }
    }
}
</script>


  

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
好的,我可以给你一个Python的Flask框架的代码,实现一个简单的备忘录的RESTful API。 ```python from flask import Flask, request, jsonify from flask_sqlalchemy import SQLAlchemy from flask_marshmallow import Marshmallow import os # 初始化Flask应用 app = Flask(__name__) basedir = os.path.abspath(os.path.dirname(__file__)) # 配置数据库 app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///' + os.path.join(basedir, 'db.sqlite') app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False # 初始化数据库和序列化工具 db = SQLAlchemy(app) ma = Marshmallow(app) # 定义备忘录模型 class Memo(db.Model): id = db.Column(db.Integer, primary_key=True) title = db.Column(db.String(100), unique=True) content = db.Column(db.Text) def __init__(self, title, content): self.title = title self.content = content # 定义备忘录模型的序列化器 class MemoSchema(ma.Schema): class Meta: fields = ('id', 'title', 'content') memo_schema = MemoSchema() memos_schema = MemoSchema(many=True) # 添加备忘录 @app.route('/memo', methods=['POST']) def add_memo(): title = request.json['title'] content = request.json['content'] new_memo = Memo(title, content) db.session.add(new_memo) db.session.commit() return memo_schema.jsonify(new_memo) # 获取所有备忘录 @app.route('/memo', methods=['GET']) def get_memos(): all_memos = Memo.query.all() result = memos_schema.dump(all_memos) return jsonify(result) # 获取单个备忘录 @app.route('/memo/<id>', methods=['GET']) def get_memo(id): memo = Memo.query.get(id) return memo_schema.jsonify(memo) # 更新备忘录 @app.route('/memo/<id>', methods=['PUT']) def update_memo(id): memo = Memo.query.get(id) title = request.json['title'] content = request.json['content'] memo.title = title memo.content = content db.session.commit() return memo_schema.jsonify(memo) # 删除备忘录 @app.route('/memo/<id>', methods=['DELETE']) def delete_memo(id): memo = Memo.query.get(id) db.session.delete(memo) db.session.commit() return memo_schema.jsonify(memo) # 启动应用 if __name__ == '__main__': app.run(debug=True) ``` 这个代码实现了以下RESTful API: - POST /memo - 添加一个备忘录 - GET /memo - 获取所有备忘录 - GET /memo/{id} - 获取单个备忘录 - PUT /memo/{id} - 更新一个备忘录 - DELETE /memo/{id} - 删除一个备忘录 你可以使用Postman或类似的工具来测试这个API

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值