Я пытаюсь разместить службу направления на своей карте, но не могу заставить ее работать.Вот HTML:
<div>
<span class="bold">From:</span> <input id="start" type="text" size="60" maxlength="150" />
<span class="bold">To:</span> <input type="text" disabled="disabled" size="<?php echo $address_length;?>" value="<?php echo $address ;?>"/>
<input id="end" type="hidden" value="<?php echo $latlng ;?>" /><br/><br/>
<span class="bold">Mode of Travel:</span>
<select id="mode">
<option value="DRIVING">Driving</option>
<option value="WALKING">Walking</option>
<option value="BICYCLING">Bicycling</option>
</select>
<input type="button" class="submit" value="Find Directions!" onclick="calcRoute()";/>
</div><br class="clear" />
<div class="inline">
<div id="mapDiv" style="width:950px; height:550px; border:1px solid #FD5F00;">
<noscript><h3 style="color:red; margin:150px 0 0 250px">Oppps. Please activate JavaScript to view this map</h3></noscript>
</div>
</div>
</div>
И внизу страницы у меня есть встроенный Javascript
$(function() {
var directionsDisplay;
var directionsService = new google.maps.DirectionsService();
var map;
initialize();
});
function initialize() {
directionsDisplay = new google.maps.DirectionsRenderer();
var latlng = new google.maps.LatLng(<?php echo $latlng; ?>);
var myOptions = {
zoom:15,
mapTypeId: google.maps.MapTypeId.ROADMAP,
center: latlng
}
map = new google.maps.Map(document.getElementById("mapDiv"), myOptions);
directionsDisplay.setMap(map);
}
function calcRoute() {
var selectedMode = document.getElementById("mode").value;
var start = document.getElementById("start").value;
var end = document.getElementById("end").value;
var request = {
origin:start,
destination:end,
travelMode: google.maps.TravelMode[selectedMode]
};
directionsService.route(request, function(result, status) {
if (status == google.maps.DirectionsStatus.OK) {
directionsDisplay.setDirections(result);
}
});
}
Вы можете видеть, что заполняется latlngиз переменной PHP.Кажется, все работает правильно, начальная карта загружается и т. Д.
В функции JS calcRoute, если я выдаю значения varr, используя
alert(request.toSource());
Я получаю все правильные данные(начало, начало и конец), но следующая строка - это ошибка, моя ошибка JS - directionService не определена.
Несколько часов пытался это исправить, но не смог найтив чем проблема, хотя это примерно так же просто, как на карте Google: - (
Если у кого-то возникнут какие-то мысли, я был бы очень рад, это сводит меня с ума!