我知道这看起来像是一个重复的问题,但我的问题略有不同,并且已经发布的任何内容都没有帮助我。
我需要检测用户所在的城市。我目前只是使用一些第三方 API 将用户的 IP 编码为城市名称。但这确实不准确(考虑我的国家尼泊尔,几乎所有地方都显示为首都)。
我尝试使用 HTML5 的地理位置 API,但这只是给了我用户的地理坐标。我尝试使用 Google 的地理编码 API,但没有得到一致的结果格式(可能是因为不同国家/地区的地址写入方式不同)。我的意思是在生成的 JSON 对象中,对于美国的地址,第五个对象给出了城市名称,而对于英国的地址,它是第四个对象,而印度的地址则是其他对象。
例如,
看
http://maps.googleapis.com/maps/api/geocode/json?latlng=51.441944,%20-0.945556&sensor=true
对比
http://maps.googleapis.com/maps/api/geocode/json?latlng=42.155101995,-71.10080&sensor=true。
这种不一致使我的代码很难从结果 JSON 中解析城市名称。
如何从坐标中获取城市的评论中提出了同样的问题?但没有解决办法。
理想情况下,我希望以某种方式将用户的地理坐标映射到他/她的城市名称(如何?)并仅使用基于 IP 的检测作为后备。但是,我为坐标到名称映射(Google API)找到的唯一解决方案不适用于我的情况。
谢谢!