別の方法もあるかと思いますが今回やった方法を書き残しておきます
- getCurrentPosition()で現在地の緯度, 経度を取得する[JavaScript]
- reverseGeocode()で緯度, 経度から住所を返す[Google Apps Script]
コード.gs
function doGet(e) {
return HtmlService.createHtmlOutputFromFile("index");
}
function getLocation(latitude, longitude) {
var geocode = Maps.newGeocoder()
.setLanguage("ja")
.reverseGeocode(latitude, longitude);
console.log(JSON.stringify(geocode));//geocodeの中身をログに出して見てみる
return geocode;
}
|
index.html
<!DOCTYPE html>
<html>
<body>
<button id="bt">get adress</button>
<script>
document.getElementById('bt').onclick = getAdress;
function getAdress() {
navigator.geolocation.getCurrentPosition(success);
}
function success(position) {
var latitude = position.coords.latitude;
var longitude = position.coords.longitude;
toGetLocation(latitude, longitude);
}
function toGetLocation(latitude, longitude) {
google.script.run
.withFailureHandler(onFailure)
.withSuccessHandler(onSuccess)
.getLocation(latitude, longitude);
}
function onSuccess(geocode) {
alert(geocode['results'][0]['formatted_address']);//geocodeの中から住所を取得する
}
function onFailure(e) {
alert([e.message, e.stack]);
}
</script>
</body>
</html>
|
get adressボタンをクリックすると現在地の住所がアラートに表示されます
関連記事
参考
Geolocation.getCurrentPosition()
https://developer.mozilla.org/ja/docs/Web/API/Geolocation/getCurrentPosition
reverseGeocode(latitude, longitude)
https://developers.google.com/apps-script/reference/maps/geocoder#reverseGeocode(Number,Number)
参考
Geolocation.getCurrentPosition()
https://developer.mozilla.org/ja/docs/Web/API/Geolocation/getCurrentPosition
reverseGeocode(latitude, longitude)
https://developers.google.com/apps-script/reference/maps/geocoder#reverseGeocode(Number,Number)