« 住所表記の揺れ対策 | トップページ | モペッドの修理をお断りしました。 »

2017年9月22日 (金)

緯度経度取得できました。

忘却の達人さんのJSONテキストを使う方法では、上手く動かすことが出来ず、マイナビニュースのExcel VBAでWebサービス - ExcelでGoogleマップを表示しようの記述を基にVBAの参照設定を行って、下記のスクリプトに省略して緯度経度データを取得できました。

-----------------------------------------------
Public Function AddressToLatLng(address As String)

    Dim xhr As New MSXML2.XMLHTTP
    Dim tmp As New MSXML2.DOMDocument
    Dim geo As MSXML2.IXMLDOMNodeList
    Dim loc As MSXML2.IXMLDOMNode
    Dim addr As String
    Dim url As String
    Dim js As Object
   
    Set js = CreateObject("ScriptControl")
    js.Language = "JScript"
    addr = js.CodeObject.encodeURIComponent(address)
    If addr = "undefined" Then Set js = Nothing: Exit Function
    Set js = Nothing
    '(1)URLエンコードした住所から、ジオコーディングのリクエストを送信する
    url = "http://maps.google.com/maps/api/geocode/xml?sensor=false&address=" & addr
    xhr.Open "POST", url, False
    xhr.send
    If xhr.statusText <> "OK" Then Exit Function
    '(2)レスポンスから緯度・経度を取り出し、Sheet2の該当セルに設定する
    tmp.loadXML (xhr.responseText)
    Set geo = tmp.getElementsByTagName("geometry")
    Set loc = geo(0).firstChild
    Set xhr = Nothing
    AddressToLatLng = loc.firstChild.Text & " " & loc.lastChild.Text

End Function
---------------------------------------------------

APIキーを使用せずに動いているのが謎ですが、結果が得られているので深く考えないことにします。

あのこらの出張エリアが表示されていなかった不具合も解消しました。

2019.09.23訂正
APIキーはやはり必要でした。
昨日は、制限なしのAPIキーを取得していたのですが、不要だと思ってキーを削除したら、動かなくなりました。

« 住所表記の揺れ対策 | トップページ | モペッドの修理をお断りしました。 »

Access 業務管理」カテゴリの記事

コメント

コメントを書く

(ウェブ上には掲載しません)

トラックバック


この記事へのトラックバック一覧です: 緯度経度取得できました。:

« 住所表記の揺れ対策 | トップページ | モペッドの修理をお断りしました。 »

川越市周辺の自転車屋MAP

埼玉県内出張修理店情報

自転車出張修理のブログ

自転車修理法の疑問はこちらへ

カテゴリー

無料ブログはココログ

もみTan(もみたん)