var myMap;
latitude=55.76;
longitude=37.64;
navigator.geolocation.getCurrentPosition(
function(location) {
latitude=location.coords.latitude;
longitude=location.coords.longitude;
accuracy=location.coords.accuracy;
ymaps.ready(init);
},
function(error){
ymaps.ready(init);
}
);
function init () {
console.log("-инициируем карту в "+latitude+" и "+longitude);
myMap = new ymaps.Map('map', {
center: [latitude, longitude],
controls: ['trafficControl','zoomControl','routeButtonControl','routeEditor'],
zoom: 15
}, {
searchControlProvider: 'yandex#search'
});
if (isMobile.any()) {
console.log("-открыто на мобильнике - отключаем мультитач");
//myMap.behaviors.disable('drag');
myMap.behaviors.disable('multiTouch');
}
LoadEVCByCar(<?=$Users->defaultcar?>);
}
function LoadEVCByCar(carcode){
//очищаем холст
myMap.geoObjects.removeAll();
NormalCollection = new ymaps.GeoObjectCollection();
//теневые не полноценные обьекты загружаем скопом
objectManager = new ymaps.ObjectManager({clusterize: true});
myMap.geoObjects.add(objectManager);
$.post("csdcsdcs", {
carcode:carcode,
latitude:latitude,
longitude:longitude
}).done(function(data) {
jsond=JSON.parse(data);
objectManager.add(jsond);
});
// по событию "попадание мышкой" теневой обьект удаляем и создаем "настоящий" полноценный, с которым далее и работаем..
objectManager.objects.events.add(['mouseenter', 'mouseleave'], Shadow2Normal);
};
function Shadow2Normal (e) {
aa=e;
console.log(e);
if (e.get('type') == 'mouseenter') {
objectIdcur = e.get('objectId');
newob=objectManager.objects.getById(objectIdcur);
myMap.geoObjects.remove([objectIdcur]);
objectManager.remove([objectIdcur]);
newob.options["draggable"]=false;
newob.options["id"]=newob.id;
NormalObject = new ymaps.GeoObject(
{
id: newob.id,
geometry : newob.geometry,
properties: newob.properties
},
newob.options
);
NormalCollection.add(NormalObject); //добавляем в коллекцию
myMap.geoObjects.add(NormalCollection); // добавляем на холст
};
}