Я использую внешний скрипт для загрузки карты, и есть кнопка, которая находила точное местоположение с использованием почтового индекса. Вопрос в том, как я могу отправить одну функцию в другую с помощью Javascript?Загрузите карту с почтового индекса с помощью API Google
Первая функция, где берется почтовый индекс является следующее:
function findLocation(){
var x = document.getElementById("postcode_car_park");
getLocation();
function getLocation(){
if (navigator.geolocation){
navigator.geolocation.watchPosition(reverseGeoLookup);
}
else{
x.innerHTML = "Geolocation is not supported by this browser.";
}
}
function reverseGeoLookup(position) {
console.log(position);
var lat = position.coords.latitude;
var lon = position.coords.longitude;
var req = new XMLHttpRequest()
req.open("GET", "http://maps.googleapis.com/maps/api/geocode/json?latlng="+lat+","+lon+"&sensor=true", true)
req.onreadystatechange = function() {
if(req.readyState == 4) {
var result = JSON.parse(req.response).results
for(var i = 0, length = result.length; i < length; i++) {
for(var j = 0; j < result[i].address_components.length; j++) {
var component = result[i].address_components[j]
//console.log(component.long_name);
if(~component.types.indexOf("postal_code")) {
var out = document.getElementById('postcode_car_park');
out.style.display= "block";
out.innerHTML = "<b>" + component.long_name + "</b>";
return false;
}
}
}
}
}
req.send();
}
}
И другую функцию, где я хочу, чтобы отправить component.long_name
от первого заключается в следующем:
function automaticMap(){
$("<script />", {
"id":"scripting",
"data-location":"http://en.parkopedia.co.uk/parking/" + postcode,
"data-options":"l=0&tc=0&zc=1&country=UK&ts[]=4&ts[]=3&ts[]=2",
"data-size":"650:400",
"src":"mapView.js",
"type":"text/javascript"
}).appendTo("#map")
}
Я знаю, что это очень просто, но я искал в форуме, и я не знаю, как отправлять переменные и загружать карту, потому что я использовал много методов и не работает. Основная проблема заключается в том, что в первой функции есть много циклов, и переменная внутри них, поэтому я не знаю, как получить доступ.
В каком 'for' должен добавить' var'to отправить его на другой функции? – CapAm
Я попытался использовать после 'req.onreadystatechange = function() {' и работает отлично, но окна появляются много раз. Снаружи это не работает. Есть идеи? – CapAm
Не могли бы вы разместить jsfiddle, который, вероятно, поможет прояснить. – coderrick