tm.weBreath
Постоялец
- Регистрация
- 8 Июл 2015
- Сообщения
- 39
- Реакции
- 15
- Автор темы
- #1
Всем доброй ночи! Товарищи, подскажите пожалуйста, на основе открытых данных наваял вот такой скрипт...
Но определяет местоположение точки А он не точно мне нужно немного по другому ее определять..
при помощи данного способа
Знаю что дел на пару строк, но не врубаюсь хоть убейте, может сплю уже просто..
в общем буду премного благодарен...
HTML:
<script type="text/javascript">
$(document).ready(function() {
var myMap;
function initMap()
{
var referencePoints = [
[56.0217,92.8418]
],
viaIndexes = [2];
var multiRoute = new ymaps.multiRouter.MultiRoute(
{
// Описание опорных точек мультимаршрута.
referencePoints: referencePoints,
// Параметры маршрутизации.
params:
{
// Ограничение на максимальное количество маршрутов, возвращаемое маршрутизатором.
results: 1,
//params: { viaIndexes: viaIndexes }
}
},
{
pinVisible: false,
viaPointIconRadius: 7,
viaPointIconFillColor: "#f63f40",
viaPointActiveIconFillColor: "#E63E92",
// Транзитные точки можно перетаскивать, при этом
// маршрут будет перестраиваться.
wayPointVisible: false,
routeStrokeWidth: 2,
routeStrokeColor: "#f63f40",
routeActiveStrokeWidth: 4,
routeActiveStrokeColor: "#f63f40",
// Автоматически устанавливать границы карты так, чтобы маршрут был виден целиком.
boundsAutoApply: true
});
var geolocationControl = ymaps.geolocation,
// Создаем карту с добавленными на нее кнопками.
myMap = new ymaps.Map('map',
{
center: [56.0217,92.8418],
zoom: 7,
controls: ['geolocationControl', 'zoomControl', 'trafficControl', ]
},
{
searchControlProvider: 'yandex#search',
buttonMaxWidth: 300
});
myMap.controls.get('zoomControl')
.options.set('size', 'small');
myMap.behaviors.disable('scrollZoom');
var currentRoute = null;
var sourcePoint = null;
geolocationControl = myMap.controls.get('geolocationControl');
geolocationControl.events.add('locationchange', onGeolocate);
function onGeolocate(e)
{
//clearSourcePoint();
sourcePoint = e.get('geoObjects')
.get(0);
createRoute();
}
function createRoute()
{
// Если начальная точка маршрута еще не выбрана, ничего не делаем.
if (!sourcePoint)
{
geolocationControl.events.fire('press');
return;
}
// Стираем предыдущий маршрут.
clearRoute();
var routeOptions2 = {
pinVisible: false,
viaPointIconRadius: 0,
viaPointIconFillColor: "#f63f40",
viaPointActiveIconFillColor: "#E63E92",
// Транзитные точки можно перетаскивать, при этом
// маршрут будет перестраиваться.
wayPointVisible: false,
routeActiveStrokeWidth: 4,
routeStrokeColor: "#666666",
routeActiveStrokeColor: "#00FF00",
boundsAutoApply: true
};
// Создаём маршрут нужного типа из начальной в конечную точку.
currentRoute = new ymaps.multiRouter.MultiRoute(
{
referencePoints: [
sourcePoint,
[56.0217,92.8418]
],
params:
{
routingMode: 'driving'
}
}, routeOptions2);
// Добавляем маршрут на карту.
myMap.geoObjects.add(currentRoute);
}
createRoute();
function clearRoute()
{
myMap.geoObjects.remove(currentRoute);
currentRoute = null;
}
myGeoObject = new ymaps.GeoObject(
{
// Описание геометрии.
geometry:
{
type: "Point",
coordinates: [56.0217,92.8418]
},
// Свойства.
properties:
{
// Контент метки.
iconContent: 'SUNRISE',
//hintContent: 'Ну давай уже тащи',
}
},
{
// Опции.
//balloonContentLayout: BalloonContentLayout,
balloonPanelMaxMapArea: 0,
// Иконка метки будет растягиваться под размер ее содержимого.
preset: 'islands#redStretchyIcon',
});
myMap.geoObjects.add(myGeoObject);
}
ymaps.ready(initMap);
});
</script>
Но определяет местоположение точки А он не точно мне нужно немного по другому ее определять..
при помощи данного способа
HTML:
ymaps.ready(init);
function init() {
var geolocation = ymaps.geolocation,
myMap = new ymaps.Map('map', {
center: [55, 34],
zoom: 10,
controls: ['geolocationControl', 'zoomControl', 'trafficControl', ]
});
geolocation.get({
provider: 'browser',
mapStateAutoApply: true
}).then(function (hz) {
// Синим цветом пометим положение, полученное через браузер.
// Если браузер не поддерживает эту функциональность, метка не будет добавлена на карту.
hz.geoObjects.options.set('preset', 'islands#blueCircleIcon');
myMap.geoObjects.add(hz.geoObjects);
});
}
Знаю что дел на пару строк, но не врубаюсь хоть убейте, может сплю уже просто..
в общем буду премного благодарен...