福岡様、細かな投稿頂き、誠にありがとうございます。
今回、やりたかったことは、QGISにて、背景地図(Googleや地理院地図)を表示してある状況で、住所を入力すると
該当箇所に移動、またはポイントが付くといったことです。
ちょうどインターネットブラウザでGoogleMapを開いて住所検索を行ったときのような動作です。
以前はQGISのプラグイン「GeoCoding」を使用していました。
「GeoCoding」プラグインは、検索エンジンを設定にて「openstreetmap」か「Google」か選べるのですが、
標準の「openstreetmap」では日本語検索がヒットしづらいため、「Google」に設定し使用していました。
先日まで不都合なく使えていたのですが、多分GoogleMapのAPIがKey未登録では使用できなくなった為、
検索がうまく動作しなくなってしまい、困っていた次第です。
「GeoCoding」の設定には、「Google API Key」を入力する箇所があったので、取得したKeyを入力
したのですが、Keyを入力し、住所検索するとエラーが発生し、住所検索が行なえませんでした。
投稿後、そのエラーメッセージを調べると、プラグインのプログラム、pythonのエラーであることがわかり、
「GeoCoding」のプラグインのソースの場所を調べ、中を調べたところ、ソースのエラー箇所がわかりましたので、
修正したところ、なんとか動作するようになりました。
自己責任ですが、いちお修正箇所を載せておきます。
C:\Users\「ユーザー名」\AppData\Roaming\QGIS\QGIS3\profiles\default\python\plugins\GeoCoding
フォルダ内の「geocoders.py」をテキストエディタ等で開きます。
(Windowsのテキストエディタでは改行がうまく判断されないので、私は秀丸エディタを使用)
69行目の
url+ = self.url + '&key=' + self.api_key
を
url = self.url + '&key=' + self.api_key
に変更し保存。
QGISが起動していた場合は再起動。
APIキーが有る場合のソースのバグのようです。
福岡様が載せていただいたサービスの地理院マップシートは知りませんでした。
こちらもなにかの際は利用できそうで、大変参考になりました。
ありがとうございます。