2012-03-07 105 views
0

我正在做一个ajax调用来请求一个位置,并相对于位置移动一个标记。问题是LatLng命令简单地返回(NaN,NaN),即使变量“data”实际上包含一个位置。我在这里做错了什么?谷歌地图api v3 LatLng转换错误

function marker() 
    { 
     $.get("ajax.php", { do: "getpos" }, function(data){ 
      var latlng = new google.maps.LatLng(data); 
       alert(latlng); 
      beachMarker.setPosition(latlng); 
     }); 
     //setTimeout("marker()", 10000); 
    } 
+1

你可以发布一个链接到你的所有代码,或者把它放在一个jsFiddle或其他东西,所以我们可以一次看到它的所有?这样我们可以在运行时测试它。 – 2012-03-07 20:11:10

+0

有关数据变量或来自哪里的任何线索? – 2012-03-08 02:02:34

+0

在我看来,你的数据变量包含单个值或数组。但LatLng类接受两个参数(既不是单个值也不是数组)。如果它是一个数组,那么你需要引用数组元素(即'(data [0],data [1])')。 – andresf 2012-03-08 06:22:27

回答

1

由于Documentation说,LatLng构造函数应该有两个参数,都必须是数字。您的ajax响应不能是数字类型。它可能是字符串,您应该将其拆分并解析为数字,以便传递给构造函数LatLng