Добрый день!
Я очень новичок в JavaScript и пришел к нему, так как думаю, что это может помочь автоматизировать проект, над которым я работаю. По сути, я делаю карту двух бразильских городов (Витория и Флорианаполис) и ищу время прохождения между множеством точек. ГИС-инструменты подходят для проезда расстояния / времени, но в этих городах нет вариантов транзита (платформа TravelTime пока не работает в Бразилии).
То, что я могу сделать, - это использовать API Карт Google JavaScript и Службу дистанционной матрицы для создания массива пар отправления / назначения (O / D). И я думаю, что я сделал эту часть с некоторым вводным обучением и с помощью примера Google Maps. Мой план состоит в том, чтобы расширить как переменные Origin, так и Destination с нужными мне цифрами, как только я разберусь с этим элементом.
Где я хотел бы go, следующим будет использование литерала TransitOptions, чтобы всегда иметь время отправления установлено на 8 утра (т.е. ru sh час). Я не хочу, чтобы данные менялись в зависимости от того, в какое время дня я запускаю сценарий.
К этому моменту я приложил информацию, но уверен на 99%, что неправильно использую TransitOptions:
<code> <body>
<div id="right-panel">
<div id="inputs">
<pre>
var origin1 = {lat: -27.524, lng: -48.642};
var destinationA = {lat: -27.594, lng: -48.554};
Результаты
let flightwindow = new Date ('2020-03-10T08: 00: 00') function initMap () {var bounds = new google.maps.LatLngBounds; var markersArray = []; var origin1 = {lat: -27.524, lng: -48.642}; var destinationA = {lat: -27.594, lng: -48.554}; var destinationIcon = '
https://chart.googleapis.com/chart?' + 'chst = d_map_pin_letter & chld = D | FF0000 | 000000'; var originIcon = '
https://chart.googleapis.com/chart?' + 'chst = d_map_pin_letter & chld = O | FFFF00 | 000000'; var map = new google.maps.Map (document.getElementById ('map'), {center: {lat: -27.50, lng: -48.5}, zoom: 10}); var geocoder = new google.maps.Geocoder; var service = new google.maps.DistanceMatrixService; service.getDistanceMatrix ({происхождение: [origin1], места назначения: [destinationA], travelMode: 'TRANSIT', unitSystem: google.maps.UnitSystem.METRI C, avoHighways: false, избежатьТоллы: ложь, вылет времени: выезд, окно,}, function (response, status) {if (status! == 'OK') {alert ('Error was:' + status);} else {var originList = response.originAddresses; var destinationList = response.destinationAddresses; var outputDiv = document .getElementById ('output'); outputDiv.inner HTML = ''; deleteMarkers (markersArray); var showGeocodedAddressOnMap = function (asDestination) {var icon = asDestination? destinationIcon: originIcon; вернуть функцию (результаты, состояние) {if ( status === 'OK') {map.fitBounds (bounds.extend (results [0] .geometry.location)); markersArray.pu sh (new google.maps.Marker ({map: map, position: results) [0] .geometry.location, icon: icon}));} else {alert ('Геокод не был успешным из-за:' + status);}};}; для (var i = 0; i '; }}}}); } function deleteMarkers (markersArray) {for (var i = 0; i