Инициализация через яндекс - узнаём координаты пользователя

This commit is contained in:
Krivchikov Dmitry 2014-07-02 14:14:52 +04:00
parent 90d8f3e235
commit 181cf43f37
1 changed files with 26 additions and 20 deletions

View File

@ -2,7 +2,6 @@
* Let's GO!
*/
$(document).ready(function(){init()});
var myMap;
var categories = Array();
var points = Array();
@ -13,14 +12,34 @@ var addPointInProcess = false;
var layer;
var layers = Array();
categories.im = L.icon({
iconUrl: '/ico/man.png',
iconSize: [32, 37],
iconAnchor: [16, 37],
popupAnchor: [0, 1]
});
// -----------------------------------------------------------------------------
/**
* Инициализируем яндекс-карты и узнаём расположение пользователя.
*/
ymaps.ready(function(){
lat = ymaps.geolocation.latitude;
lng = ymaps.geolocation.longitude;
init(lat, lng);
points.im = L.marker([lat, lng], {icon: categories.im, title: 'Вы здесь'});
points.im.addTo(myMap);
points.im.bindPopup('<b>Ваше местоположение</b><br/><img src="/ico/man.png" /> <button type="button" class="btn btn-default btn-xs" onclick="addToRoute(\'im\')"><span class="glyphicon glyphicon-plus"></span> Добавить в маршрут</button>')
});
/**
* Инициализируем переменные и подгружаем данные.
* @returns true
*/
function init() {
myMap = L.map('map',{zoomControl: false}).setView([57, 30], 4);
function init(lat, lng) {
myMap = L.map('map',{zoomControl: false}).setView([lat, lng], 11);
layers['quest'] = L.tileLayer('http://otile1.mqcdn.com/tiles/1.0.0/osm/{z}/{x}/{y}.png', {attribution: 'Map data &copy; <a href="http://openstreetmap.org">OpenStreetMap</a> contributors, <a href="http://creativecommons.org/licenses/by-sa/2.0/">CC-BY-SA</a>, Imagery © <a href="http://mapbox.com">Mapbox</a>',maxZoom: 18});
layers['osm'] = L.tileLayer('http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {attribution: 'Map data &copy; <a href="http://openstreetmap.org">OpenStreetMap</a> contributors, <a href="http://creativecommons.org/licenses/by-sa/2.0/">CC-BY-SA</a>, Imagery ©</a>',maxZoom: 18});
@ -72,14 +91,6 @@ function init() {
return true;
}
ymaps.ready(function(){
points.im = L.marker(
[ymaps.geolocation.latitude, ymaps.geolocation.longitude], {icon: categories.im, title: 'Вы здесь'}
);
points.im.addTo(myMap);
points.im.bindPopup('<b>Ваше местоположение</b><br/><img src="/ico/man.png" /> <button type="button" class="btn btn-default btn-xs" onclick="addToRoute(\'im\')"><span class="glyphicon glyphicon-plus"></span> Добавить в маршрут</button>')
});
/**
* Создаёт точку для карту - Placemark.
* @param {Array} data
@ -203,13 +214,6 @@ function initCategories()
});
}
categories.im = L.icon({
iconUrl: '/ico/man.png',
iconSize: [32, 37],
iconAnchor: [16, 37],
popupAnchor: [0, 1]
});
initPoints();
}
});
@ -252,8 +256,10 @@ function searchAdderess()
function showMeOnTheMap()
{
navigator.geolocation.getCurrentPosition(function(pos) {
//points.im.geometry.setCoordinates([pos.coords.latitude, pos.coords.longitude]);
myMap.setView([pos.coords.latitude, pos.coords.longitude], 15);
coords = [pos.coords.latitude, pos.coords.longitude];
myMap.removeLayer(points.im);
points.im.setLatLng(coords).addTo(myMap);
myMap.setView(coords, 15);
});
//myMap.setCenter(points.im.geometry.getCoordinates());