(delphi应用程序)错误的位置发现

时间:2012-04-15 14:11:14

标签: delphi google-maps-api-3 delphi-xe2

我有一对coorinates:

GpsLatitude     GpsLongitude
32.012919       34.547592,
32.012798       34.54763,
32.012827       34.547584,
32.012814       34.547608,
32.01273        34.54765,
32.012868       34.547631,
32.012834       34.547577,

我已经在delphi应用程序的谷歌地图上显示了它。

我找到了一个例子here一个delphi代码示例 它的工作原理。但当我试图用我的坐标时,它指出 错误的位置,但当我在浏览器中打开它,像这样

  

“32 01.2834,34 54.7577”

它运行良好,不幸的是它在delphi中不起作用。

什么可能是错的?

1 个答案:

答案 0 :(得分:3)

如果您查看article中使用的GotoLatLng javascript函数,

function GotoLatLng(Lat, Lang) { 
  var latlng = new google.maps.LatLng(Lat,Lang);
  map.setCenter(latlng);
  var marker = new google.maps.Marker({
  position: latlng, 
  map: map,
  title:Lat+","+Lang
  });
  }

您可以看到对google.maps.LatLng()函数的调用,这需要以十进制格式给出两个数字。你正在使用像32 01.2919, 34 54.7592那样的度数和分钟格式的值,所以该格式必须转换为十进制才能传递给javascript函数。现在,因为该值在谷歌地图页面中起作用的原因是因为该页面在内部解析作为参数传递的字符串并返回一组标记作为结果。