我遇到地图标记问题。地图和标记在初始页面加载时加载正常。但是当我尝试更新标记位置时,它就会消失。 “警报”窗口提供了正确的协调。我在这里做错了什么?
代码:
<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>
答案 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]));