Здравствуйте. Столкнулся с забавной проблемой. Имеется код
$('input#findme').bind('click', function () { $("#MapMessage").hide("fast");
navigator.geolocation.getCurrentPosition(
// Обработчик успшеного получения координат
function (position) {
//myMap.geoObjects.remove(myPosition);
//map.removeOverlay(youp);
var coords = position.coords;
$("input#yaddress").val("" + coords.latitude + "," + coords.longitude + "");
userLocation = coords.latitude + ", " + coords.longitude;
myPosition = new ymaps.GeoObject({
// Геометрия.
geometry: {
// Тип геометрии - точка
type: "Point",
// Координаты точки.
coordinates: [coords.latitude + ', ' + coords.longitude]
},
properties: {
iconContent: "Вы",
hintContent: "Это Вы!",
//balloonContentHeader: "Ваше примерное местоположение."
}
});
myMap.geoObjects.add(myPosition);
myMap.panTo([coords.latitude, coords.longitude], {
flying: true,
duration: 2000
});
},
// Оработчик неудачного завершения получения коордиант
function (error) {
$("#MapMessage").attr("class","warning");
$("#MapMessage").html("При определении координат произошла ошибка. Ее код: " + error.code);
$("#MapMessage").show("fast");
},
// Параметры
{
enableHighAccuracy : false, // Режим получения наиболее точных данных
timeout : 10000, // Максиальное время ожидания ответа (в миллисекундах)
maximumAge : 1000 // Максимальное время жизни полученных данных
}
);
Не трудно догадаться, что здесь происходит: по клику на кнопку мы определяем местоположение (координаты) пользователя, используя геолокацию браузера, затем создаём в этой точке метку и прокручиваем карту в эту точку.
Однако, заметил забавный глюк. После того как скрипт покажет где я, если я двигаю карту - метка двигается вместе с экраном - т.е. она получается фиксируется не на карте, а на средине экрана.
В чём может быть ошибка и как исправить? Спасибо.