Помогите разобраться с яваскрипт (гугл-карты)

L
На сайте с 17.05.2013
Offline
88
1031

Нашел сайт где можно узнать расстояние между городами и проложить маршрут.

Подскажите как изменить под себя функцию, чтобы расстояния вводилось не буквами, а с пом. координат.

Пробую здесь менять, но почему-то не работает:

var marker = new google.maps.Marker(

{

map: map,

position: results[0].geometry.location - было

position: '50.9213,128.474' - так я поменял

});

И какая здесь функция отвечает за построение маршрута между городами?

siv1987
На сайте с 02.04.2009
Offline
427
#1
L
На сайте с 17.05.2013
Offline
88
#2

Так вроде бы эта функция только строит начальную карту. Там сразу забиты координаты Киева.

function initialize() {

geocoder = new google.maps.Geocoder();

directionsDisplay = new google.maps.DirectionsRenderer();

var kiev = new google.maps.LatLng(49.9935,36.230383);

var myOptions = {

zoom: 6,

mapTypeId: google.maps.MapTypeId.ROADMAP,

center: kiev

}

map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);

directionsDisplay.setMap(map);

}

Меня интересует функция, которая строит маршрут между городами. Там по идее должны быть 2 координаты пункта А и 2 координаты пункта В..

siv1987
На сайте с 02.04.2009
Offline
427
#3

"Начальную" карту строит new google.maps.Map

google.maps.LatLng другой класс, который создает объект координат из lat и lng

Google:

google.maps.LatLng class

A LatLng is a point in geographical coordinates: latitude and longitude.
luckydan:
Меня интересует функция, которая строит маршрут между городами.

google.maps.DirectionsService

и google.maps.DirectionsRenderer

в интернете полно примеров по построение маршрутов, если документация непосильна.

L
На сайте с 17.05.2013
Offline
88
#4

siv1987 что-то не могу найти примера подходящего. Ткни носом как в том примере, что есть. Как сделать так, чтобы сразу выводился маршрут по координатам, которые наперед известны.

Например, Киев - 50.4501, 30.5234 и Москва - 55.7537, 37.6199

siv1987
На сайте с 02.04.2009
Offline
427
#5
luckydan:
Ткни носом

https://developers.google.com/maps/documentation/javascript/directions?hl=ru#DisplayingResults


var directionsDisplay;
var directionsService = new google.maps.DirectionsService();
var map;

function initialize() {
directionsDisplay = new google.maps.DirectionsRenderer();
var chicago = new google.maps.LatLng(41.850033, -87.6500523);
var mapOptions = {
zoom:7,
mapTypeId: google.maps.MapTypeId.ROADMAP,
center: chicago
}
map = new google.maps.Map(document.getElementById("map_canvas"), mapOptions);
directionsDisplay.setMap(map);

/* Calculate Route */
calcRoute();
}

function calcRoute() {
var start = new google.maps.LatLng(50.4501, 30.5234);
var end = new google.maps.LatLng(55.7537, 37.6199);
var request = {
origin: start,
destination: end,
travelMode: google.maps.TravelMode.DRIVING
};
directionsService.route(request, function(result, status) {
if (status == google.maps.DirectionsStatus.OK) {
directionsDisplay.setDirections(result);
}
});
}
L
На сайте с 17.05.2013
Offline
88
#6

Спасибо, друг!

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий