谷歌地图API v3 - 标记在setPosition后消失

时间:2014-05-25 10:47:23

标签: javascript jquery google-maps-api-3 marker

我遇到地图标记问题。地图和标记在初始页面加载时加载正常。但是当我尝试更新标记位置时,它就会消失。 “警报”窗口提供了正确的协调。我在这里做错了什么?

代码:

<script>
var myCenter=new google.maps.LatLng(<?php echo $loc; ?>);

function initialize()
{
  var mapProp = {
  center:new google.maps.LatLng(<?php echo $loc; ?>),
  zoom:15,    
  mapTypeId:google.maps.MapTypeId.ROADMAP,
  };
var map=new google.maps.Map(document.getElementById("googleMap")
,mapProp);
var marker=new google.maps.Marker({
position:myCenter,
});

marker.setMap(map);                 

setInterval(function(){ 
    jQuery.get('loc.php?v=<?php echo $_GET['voertuignummer'];?>', function(data) {
alert(data);
position = new google.maps.LatLng(data);
marker.setPosition(position);
map.setCenter(position);
    });

}, 15000);

}

google.maps.event.addDomListener(window, 'load', initialize);
</script>

1 个答案:

答案 0 :(得分:1)

function(data) {
   alert(data);
   position = new google.maps.LatLng(data);
   ..

看起来非常错误; data是一个字符串,可能包含"lat, lng"google.maps.LatLng无法初始化。 new google.maps.LatLng在参数中需要一对类型number,例如(number, number)

请改为:

data = data.split(',');
position = new google.maps.LatLng(parseFloat(data[0]), parseFloat(data[1]));