#javascript #latitude-longitude #here-api
#javascript #широта-долгота #здесь-api
Вопрос:
широтные, длинные координаты сохраняются из функции geocode(). (пользователь ввел город и улицу в html-ввод -> получил данные latlong в виде (50.4342,8.4324))
как мне поместить переменную latlong внутри значения waypoint0, не получая ошибок?
var lat = 50.4342;
var long = 8.4324;
var latlong = lat ',' long;
function calculateRoute(platform, coordinates)
{
var router = platform.getRoutingService(),
parameters = {
waypoint0: '', //<- insert latlong variable
waypoint1: '49.998700,8.249140',
mode: 'fastest;car;traffic:enabled',
departure: 'now'};
router.calculateRoute(parameters,
function (result) {
console.log(result);
console.log(latlongstr);
}, function (error) {
console.log("error");
});
}
как мне преобразовать широту и длину для значения waypoint0? если я передам значения lat long внутри waypoint0 вручную, тогда все работает, но я хотел бы сделать это динамически.
я только начинаю с javascript, поэтому, пожалуйста, не ненавидьте меня, если это легко решить.
большое вам спасибо за помощь.
Ответ №1:
Хорошо, я решил это сам.
Сделайте это:
function geocode(platform, street2, city2)
{
var street3 = street2;
var city3 = city2;
var geocoder = platform.getGeocodingService(),
parameters = {
searchtext: street3 city3 ,
gen: '9'};
geocoder.geocode(parameters,
function (result) {
var lat = result.Response.View[0].Result[0].Location.DisplayPosition.Latitude;
var long = result.Response.View[0].Result[0].Location.DisplayPosition.Longitude;
calculateRoute(platform, lat, long);
}, function (error) {
console.log("Retrieving Latitude and Longitude failed! Refresh the page and try again.");
});
function calculateRoute(platform,latitude,longitude)
{
var x = latitude;
var y = longitude;
var router = platform.getRoutingService(),
parameters = {
waypoint0: x "," y,
waypoint1: '49.998700,8.249140',
mode: 'fastest;car;traffic:enabled',
departure: 'now'};
router.calculateRoute(parameters,
function (result) {
console.log(result.response.route[0].summary.distance);
}, function (error) {
console.log("error");
});
}
Итак, просто вызовите функцию calculateRoute() внутри функции geocoder.geocode() (передайте широту и длину вместе с ней), и только тогда вы сможете использовать широту и долготу в функции calculateRoute() для вычисления расстояния.