是否有可能在 javascript 函数中,从具有 Google 中某个位置的纬度和经度的 var 创建具有位置名称的 var?
Is it possible in a javascript function, to create from var with latitude and longitude of a position in Google maps a var with location name?
我有以下简单的 javascript 函数:
<script>
var location_coordinates = "37.652007,25.030289";
document.write (location_coordinates);
</script>
有什么方法可以在这个脚本上创建一个变量,该变量接受 location_coordinates
并将 returns 在另一个变量中这个位置的位置名称?
您通常需要某种地理编码服务(Google!),例如 Google、Mapquest 等等。您具体要查找的是 "Reverse Geocoding"!对于这些服务,您通常需要一个帐户,您可以在其中创建一个应用程序,该应用程序将为您提供一个 API 密钥供您使用,有些人很友善,可以在网络上留下一些 =),所以这是您的示例使用来自 MapQuest:
的地理编码服务的坐标
btn.addEventListener('click', function(e) {
// fetch the address
fetch(`https://open.mapquestapi.com/geocoding/v1/reverse?key=jzZATD7kJkfHQOIAXr2Gu0iG62EqMkRO&location=${lat.value},${lng.value}`)
.then((data) => {
return data.json();
})
.then((json) => {
// here you can do something with your data
// like outputting the address you received
// from the Geocoding Service of your choice
if ( json.results[0] ) {
const result = json.results[0].locations[0];
output.innerHTML = `
<p>The address for your coordinates is:</p>
<address>
<span class="street" style="display: block">${result.street}</span>
<span class="postalcode">${result.postalCode}</span>
<span class="city">${result.adminArea5}</span>
<b class="country" style="display: block">${result.adminArea3}</b>
</address>
`;
}
})
.catch((err) => {
console.log(err);
});
});
<input type="text" placeholder="Latitude" id="lat" value="37.652007" />
<input type="text" placeholder="Longitude" id="lng" value="25.030289" />
<button type="button" id="btn">Get Address</button>
<div id="output" style="width: 300px; background: lightgray; padding: 24px; margin-top: 12px;"></div>
我有以下简单的 javascript 函数:
<script>
var location_coordinates = "37.652007,25.030289";
document.write (location_coordinates);
</script>
有什么方法可以在这个脚本上创建一个变量,该变量接受 location_coordinates
并将 returns 在另一个变量中这个位置的位置名称?
您通常需要某种地理编码服务(Google!),例如 Google、Mapquest 等等。您具体要查找的是 "Reverse Geocoding"!对于这些服务,您通常需要一个帐户,您可以在其中创建一个应用程序,该应用程序将为您提供一个 API 密钥供您使用,有些人很友善,可以在网络上留下一些 =),所以这是您的示例使用来自 MapQuest:
的地理编码服务的坐标btn.addEventListener('click', function(e) {
// fetch the address
fetch(`https://open.mapquestapi.com/geocoding/v1/reverse?key=jzZATD7kJkfHQOIAXr2Gu0iG62EqMkRO&location=${lat.value},${lng.value}`)
.then((data) => {
return data.json();
})
.then((json) => {
// here you can do something with your data
// like outputting the address you received
// from the Geocoding Service of your choice
if ( json.results[0] ) {
const result = json.results[0].locations[0];
output.innerHTML = `
<p>The address for your coordinates is:</p>
<address>
<span class="street" style="display: block">${result.street}</span>
<span class="postalcode">${result.postalCode}</span>
<span class="city">${result.adminArea5}</span>
<b class="country" style="display: block">${result.adminArea3}</b>
</address>
`;
}
})
.catch((err) => {
console.log(err);
});
});
<input type="text" placeholder="Latitude" id="lat" value="37.652007" />
<input type="text" placeholder="Longitude" id="lng" value="25.030289" />
<button type="button" id="btn">Get Address</button>
<div id="output" style="width: 300px; background: lightgray; padding: 24px; margin-top: 12px;"></div>