0

我从一个用于地理围栏的 web 服务获取 kmz 文件。该应用程序负责检查手机的gps位置是否在地理围栏内。

我真的不知道 kmz 文件的结构(我没有创建它),但我认为坐标可能如下所示:

<coordinates> 
    -112.2550785337791,36.07954952145647,2357
    -112.2549277039738,36.08117083492122,2357
    -112.2552505069063,36.08260761307279,2357
    -112.2564540158376,36.08395660588506,2357
    -112.2644963846444,36.08627897945274,2357
    -112.2656969554589,36.08649599090644,2357 
</coordinates>

如何检查我的手机的 gps 坐标是否在地理围栏内(上面的示例只是一条线,它应该是一个封闭区域,例如一个矩形)?现在我真的想不出该怎么做。

应该使用什么库来访问 kmz 文件?

4

1 回答 1

0

首先,对于地理围栏,请从此处下载示例并阅读文档。而且我不知道 kmz 文件。但是,如果您可以从中获取字符串(使用文件读取)并知道其结构,那么您可以轻松解析它。如果格式像您提到的,那么您可以通过以下方法获取值:

  • 在坐标上拆分字符串(包括 <>)。你会得到一个字符串数组。取索引 1 处的字符串。

  • 在 /coordinates(包括 <>)上拆分此字符串。你会得到另一个字符串数组。取索引 0 处的字符串。

  • 现在将此字符串拆分为“,”。你会再次得到一个字符串数组!现在索引 0,3,6... 是纬度,索引 1,4,7... 是经度,索引 2,5,8... 是您提到的数据中的第三个数字。

于 2014-06-14T15:12:16.533 回答