如何在googlemaps页面中使用文本文件中的GPS坐标?

时间:2012-07-18 08:08:28

标签: php html google-maps-api-3

我正在将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文件,但这听起来不是一个非常干净的方法。

2 个答案:

答案 0 :(得分: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运行客户端),这意味着有多种方法可以解决方案。

答案 1 :(得分: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);


?>