高德地图pc端 getCurrentPosition定位在不同电脑环境下返回格式存在巨大差异
背景
getCurrentPosition在不同电脑居然存在不同的数据返回表现。
在A电脑,返回格式如下图1所示
在B电脑,返回格式如下图2所示
原因
使用高德sdk getCurrentPosition 进行数据获取,其会通过2种方式尝试获取数据,而返回不同的数据格式。
1、优先尝试地理地址进行定位查询
2、通过ip精准查询,若无法精准,就进行ip粗略查询。
当我们使用vpn,或一些具备地理定位功能的软件时, getCurrentPosition就是返回如上图1所示格式。
而大多数情况下,只能通过ip进行定位,返回的数据就是如上图2所示格式。
而高德并未对两种格式进行统一格式纠正。。。。
解决方案
需要针对两种返回机制进行两类数据格式解析,并对其进行标准化输出,整合数据格式。