Qpython SL4A服务调用GPS定位获取获取位置信息

Love The Way You Lie 2023-01-10 11:45 292阅读 0赞

代码很简单,由于网上缺乏教程,在这里我做个简单分享。
1.调用gps
2.获取经纬度,以及高程等信息。
3.实用高德逆地理查询API,查询位置。
4.调用安卓系统自带语音模块,朗读位置。

  1. # -*- coding: UTF-8 -*-
  2. import json,requests
  3. import androidhelper
  4. droid = androidhelper.Android()
  5. droid.startLocating()
  6. requests.packages.urllib3.util.ssl_.DEFAULT_CIPHERS = "TLS13-CHACHA20-POLY1305-SHA256:TLS13-AES-128-GCM-SHA256:TLS13-AES-256-GCM-SHA384:ECDHE:!COMPLEMENTOFDEFAULT"
  7. Gx = ""
  8. Gy=""
  9. while 1:
  10. gpsdata = droid.readLocation().result
  11. if len(gpsdata)>0 and gpsdata['network']:
  12. x = str(gpsdata['network']['longitude'])
  13. y = str(gpsdata['network']["latitude"])
  14. Gx+=x; Gy+=y
  15. break;
  16. droid.stopLocating()
  17. def parse(longitude,latitude):
  18. Msg = ''
  19. key = '去高德注册一个api,填写自己的key值'
  20. location = f'{longitude},{latitude}'
  21. radius = '200'
  22. url = f'https://restapi.amap.com/v3/geocode/regeo?output=json&location={location}&key={key}&radius={radius}&extensions=all'
  23. res = requests.get(url)
  24. formatted_address = res.json()['regeocode']['formatted_address']
  25. roads = res.json()['regeocode']['roads']
  26. print(formatted_address)
  27. for i in roads:
  28. Msg+=i['name']
  29. droid.ttsSpeak("您所处的位置为:"+ Msg)
  30. print( Gx, Gy)
  31. parse(Gx,Gy)

发表评论

表情:
评论列表 (有 0 条评论,292人围观)

还没有评论,来说两句吧...

相关阅读