gpt4 book ai didi

javascript - 使用 Google API 从邮政编码加载 map

转载 作者:行者123 更新时间:2023-12-03 08:29:57 24 4
gpt4 key购买 nike

我正在使用外部脚本加载 map ,并且有一个按钮可以使用邮政编码找到确切位置。问题是如何使用 Javascript 从一个函数发送到另一个函数?

第一个函数,获取邮政编码如下:

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")
}

我知道这真的很容易,但我一直在论坛中搜索,但我不知道如何发送变量和加载 map ,因为我使用了很多方法但不起作用。主要问题是在第一个函数中有很多循环,并且变量位于所有循环内部,因此我不知道如何访问。

最佳答案

如果我正确理解您的问题,一种方法是让 reverseGeoLookup() 简单地返回 component.long_name 。然后将该值存储在变量中并将其作为参数传递给 automaticMap()

所以var component_long_name =verseGeoLookup(position)然后automaticMap(component_long_name)

关于javascript - 使用 Google API 从邮政编码加载 map ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33382020/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com