HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2024
0320
hkrWindows11で位置情報(GPS緯度経度)を取得したい3解決


hkr

リンク

2024/3/20(Wed) 23:43:29|NO.101431

HSPからWindowsPCの位置情報(GPSの緯度経度等の情報)の情報を取得したいのですが、
方法がわからず困っています。

昔はUSB-GPSのCOMPortから直接情報を拾っていたのですが、
今はWindows11にLocationSensorとして認識されているため、
COMPort経由で情報を取得できなくなってしまいました。

ドライバを削除すればおそらくCOMPort経由で取得出来ると思うのですが、
LocationSensorとして動作していればマップアプリやGoogleMap等で現在位置と
連動するので、やはりドライバは残したいのです。

何方かご教授願えますでしょうか



この記事に返信する


usagi

リンク

2024/3/21(Thu) 17:33:29|NO.101433

こんにちわ。1案ですがPowerShell経由で取得するとかどうでしょうか?

#module #include "hspext.as" ; 配列に緯度、経度を返す。 ; タイムアウト(10秒)、エラーでstat 0 #deffunc getLocation array _loc gps = "Add-Type -AssemblyName System.Device;" gps += "$GeoWatcher = New-Object System.Device.Location.GeoCoordinateWatcher;" gps += "$GeoWatcher.Start();" gps += "for($i=0; $i -lt 10; $i++) {" gps += " if('Ready' -eq $GeoWatcher.Status) {" gps += " $Loc = $GeoWatcher.Position.Location;" gps += " 'SUCCESS';" gps += " $Loc.Latitude;" gps += " $Loc.Longitude;" gps += " break;" gps += " }" gps += " Start-Sleep 1;" gps += "}" gps += "$GeoWatcher.Dispose();" ddim _loc, 2: sdim buf, 32000 : sdim ln, 4096 pipeexec buf, "powershell "+gps : if stat : return 0 repeat : pipeget ln : if stat == 0 { break } : wait 1 : loop notesel buf noteget res, 0 if "SUCCESS" = res { noteget res, 1 : _loc.0 = double(res) noteget res, 2 : _loc.1 = double(res) noteunsel return 1 } else { noteunsel return 0 } return 0 #global getLocation location if stat { mes "緯度: " + location.0 mes "経度: " + location.1 exec strf("https://www.google.co.jp/maps/place/%s,%s", location.0, location.1), 16 } else { mes "位置情報サービスが有効ではありません。Windowsの設定でアプリがアクセス出来るようにオンにして下さい。" } stop



hkr

リンク

2024/3/21(Thu) 20:34:14|NO.101435

おおすごい!

自分も最悪PowerShell叩くしかないと思っていたのですが、自分にできそうな実装は
execでPowerShellを起動してバッチファイルでリダイレクトするしかありませんでした。

早速試してみます!ありがとうございました!



hkr

リンク

2024/3/21(Thu) 20:47:03|NO.101436

たった今動作確認しました!完ッ璧じゃないっすか!
ありがとうございました!



記事削除

記事NO.パスワード
(質問が解決したスレッドは他の利用者に活用してもらうため、削除しないようお願いします)

NO.101431への返信

マスコット

好きなマスコットを選んでください。

名前

e-mail
HOME
  1. 初めて利用する方は、HSP3掲示板の使い方をお読みください。
  2. 不要部分の多い長いスクリプトの投稿は ご遠慮ください。
  3. 書き込みは自動改行されません。適度に改行を入れてください。
  4. スクリプトは小文字の<pre>〜</pre>で囲むと見やすく表示できます。

削除用パスワード

解決したら質問者本人がここをチェックしてください。

エラー発生時、再送信すると二重送信になることがあります。
回答が得られたら、お礼書き込み時に[解決]チェックしてください。
SPAM防止のためURLから始まる文章は投稿できません。
SPAM防止のため英文字のみの本文を投稿することはできません。

ONION software Copyright 1997-2023(c) All rights reserved.