【问题标题】:How to check if coordinates valid or invalid without using google api?如何在不使用google api的情况下检查坐标是否有效?
【发布时间】:2020-06-01 07:23:33
【问题描述】:

有没有办法检查地图坐标是否有效?我有一个场景,我输入的纬度和经度可能会被交换,所以我必须检查它是否存在于全球坐标中。到目前为止,我需要使用 API 来检查它是否是有效的坐标。

在这个例子中,在谷歌地图中找不到这个原点。我找不到任何类似的问题。

const origin = {
        latitude:   106.892775, //parseFloat(res.pickuplat),
        longitude:  -6.163772 //parseFloat(res.pickuplong),
      };

try{
        const address = await Location.reverseGeocodeAsync(origin)
      }catch(err){
        console.log(err)
      }

【问题讨论】:

  • 检查status == 'OK'$geo = json_decode($geo, true); if ($geo['status'] == 'OK') { // info returned without error }
  • $geo = file_get_contents('https://maps.googleapis.com/maps/api/geocode/json?address='.urlencode($address).'&sensor=false&key='.APIKEY);
  • 我有一个场景,我输入的纬度和经度可能会被交换,所以我必须检查它是否存在于全球坐标中。 - 如果我的纬度是 46和经度4?你怎么知道哪个是哪个? 46, 44, 46 都是有效坐标。
  • @dalelandry 这是 1)不是免费的,2)对于所有地球坐标都不可靠。尝试地理编码88, 0。这些是有效的地球坐标,但会触发地理编码器错误(不是您提到的状态“OK”)。

标签: javascript react-native google-maps maps


【解决方案1】:

我认为验证我们坐标的最简单方法是检查

latitude 必须是介于 -90 和 90 之间的值

longitude 必须介于 -180 和 180 之间

【讨论】:

  • 这是正确的,但 Google 使用世界大地测量系统 WGS84 标准作为他们的地图,因此 90 或 -90 的纬度将不在地图范围内。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-04-18
  • 2018-08-30
  • 1970-01-01
  • 1970-01-01
  • 2021-10-20
  • 1970-01-01
相关资源
最近更新 更多