2

我正在将 GPS 坐标复制到一个文本文件中,以用于显示谷歌地图的网站。之前,我使用 php 脚本获取 gps 坐标和一些长字符串来创建可以显示的 kml 文档。这似乎不是最好的方法。我有文本文件 gpsinfo.txt,其中包含 4 个数据点的信息,打开时看起来像这样:

7.784606,63.10403 7.784606,64.10403 7.784606,65.10403 7.784606,66.10403

我应该如何使用该文本文件在我的网页上创建 4 个点?

我正在考虑使用 php 文件来创建我的网页可以读取的 js 文件,但这听起来不是一个非常干净的方法。

4

2 回答 2

2

您可以尝试使用 php 读取相同的文本文件,然后构建您需要的内容。

例子:

<?php

$contents = file_get_contents("gpsinfo.txt");
$contentsArray = explode(" ", $contents);

$gpsCoords = array(); // your final result to use when constructing javascript for maps

foreach($contentsArray as $key => $gpsItem)
{
    $gpsArray = explode("," $gpsItem);
    $gpsArray[$key]['lat'] = $gpsItem[0];  
    $gpsArray[$key]['lon'] = $gpsItem[1];
    // The latter two might change as I am not sure which is 
    // the lon and which is the lat at your end
}

?>

该代码可以在返回坐标数组的函数中使用,也可以只是内联,具体取决于您的代码样式。

另一种方法是将坐标存储到 JSON 数组中,然后尝试获取它并将其直接提供给 javascript。尽管在我的示例中,您只需要以某种特定方式存储数据:即调用 php 来构造一个数组或在 javascript 中为每个坐标调用一个函数,这会将标记放在地图上。PHP 在 javascript 之前运行(服务器端,而 js 运行客户端),这意味着有多种方法可以解决问题。

于 2012-07-18T08:19:12.977 回答
0

这就是我正在做的解决这个问题:

我有一个 php 文件抓取一些网页以获取 GPS 坐标,然后将它们复制到一个文本文件中,但采用 JSON 格式:

  [{ "boat": "Edda", "coordinates" : { "lat" : 7.80086, "lon": 64.75658}}, { "......

然后我有一个 php 文件,它读取文件并由我的网页使用 ajax 访问并输出字符串,然后网页处理它。

网页上的ajax:

<script type="text/javascript" language="JavaScript">
var point;
microAjax("BackgroundFiles/genjsonGPS.php", function (res) {

  var json_obj = JSON.parse(res.toString());

  initialize(json_obj);
  window.setTimeout(function(){

    }, 500);      
});

  </script>

genjsonGPS.php:

<?php

$myFile = "vesselGPS.txt";
$fh = fopen($myFile, 'r');
$vesselGPS = fread($fh, filesize($myFile));
fclose($fh);

echo($vesselGPS);


?>
于 2012-08-01T08:15:40.003 回答