Webformで緯度経度の取得に成功

Webformでalgoliaを利用してlocationを拾ってみた続編。Google Apps Scriptに挑戦中に続いてDrupalのWebformで緯度経度が取れないか、あらためて挑戦してみた。

キーとなるのは、Webformの項目設定。

<script>
    function currentPosition() {
      navigator.geolocation.getCurrentPosition(success);
    }
    function success(position) {
      document.getElementById('edit-lat').innerHTML = position.coords.latitude;
      document.getElementById('edit-lng').innerHTML = position.coords.longitude;
    }
    currentPosition();
</script>

のdocument.getElementById('edit-lat').innerHTMLがポイント。本当はユーザーの現在地 | Web | Google Developersにあるようにエラーハンドリングも書くべきだが、とりあえず省略。

Webformのテキストエリアはid='edit-なんちゃら'なので、上記のコードの下線部のように値を設定すればよい。

webformの内容を検証してidを特定

これで、無事緯度経度を取得できるWebformを実装できた。

タグ