Я использую API Карт Google v3. Мой скрипт отлично работает и показывает значок автомобиля, пока не определен. Но когда я обновляю long lat в базе данных, а функция ajax возвращает новую длинную лат через json, marker.setPosition(newLatLng)
заставляет маркер исчезать ...Ошибка Google Map API SetPosition
Пожалуйста, помогите мне, в чем проблема? Вот мой код:
$(document).ready(function() {
var map;
var marker;
function initialize() {
var myLatlng = new google.maps.LatLng(<?php echo $c_lat; ?>, <?php echo $c_long; ?>);
var myOptions = {
zoom: 19,
center: myLatlng,
mapTypeId: google.maps.MapTypeId.ROADMAP
}
map = new google.maps.Map(document.getElementById('driver_loc'), myOptions);
}
function getLongLat(){
$.ajax({
type: "POST",
url: "config/getLongLat.php?id=<?php echo $driverId; ?>",
dataType: "json",
success: function(data)
{
var lat=data.lat; //returns new lat via db
var lon=data.lon;
// alert(lat);
var newLatLng = new google.maps.LatLng(lat, lon);
if (marker != undefined)
marker.setPosition(newLatLng);
else
marker = new google.maps.Marker({
position: newLatLng,
map: map,
icon: 'images/car.png',
animation: google.maps.Animation.DROP,
draggable: true
});
}
});
console.log(marker);
}
// Onload handler to fire off the app.
google.maps.event.addDomListener(window, 'load', initialize);
// google.maps.event.addDomListener(window, 'load', callPosition);
window.setInterval(function(){
getLongLat();
}, 6326);
});
Вы уверены, что маркер исчезает, возможно, он находится за пределами окна просмотра после обновления. –
ooo yeah u r right it move far as lat изменяется слишком много за 5 секунд plz подскажите, как изменить окно просмотра, потому что я хочу показывать маркеры обновлений. –