質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.34%
Visual C++

Microsoft Visual C++はWindowsのCとC++の統合開発環境(IDE)であり、コンパイラやデバッガを含んでいます。

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

Q&A

解決済

3回答

569閲覧

visualstdioのc++で地図を拡大縮小出来てドラックで移動させたい

moitaro123

総合スコア5

Visual C++

Microsoft Visual C++はWindowsのCとC++の統合開発環境(IDE)であり、コンパイラやデバッガを含んでいます。

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

0グッド

0クリップ

投稿2024/12/08 00:08

実現したいこと

Googleマップみたいに
地図データがあった際に
ドラックで地図の表示をスクロールしたい

発生している問題・分からないこと

全く情報がないので
どのような語句で検索すれば良いのかも分からないので
地図をドラックで動かすのを何と呼ぶのかお伺いしたい。

該当のソースコード

特になし

試したこと・調べたこと

  • teratailやGoogle等で検索した
  • ソースコードを自分なりに変更した
  • 知人に聞いた
  • その他
上記の詳細・結果

検索の仕方が悪いのか見つからない

補足

特になし

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

hiroki-o

2024/12/08 02:41

フレームワークは何ですか?
moitaro123

2024/12/09 00:30

コメントありがとうございます。 フレームワークは visualstdio2019で確認する方法が分かりませんがint mainなので特に使っていないと思われます。 visualstdio2019で、フレームワークを確認する方法をお教え頂けないでしょうか? お忙しいところ大変申し訳ないのですが 上記ご連絡いたします
moitaro123

2024/12/09 02:02

見つかりました。 フレームワークは.NETフレームワークv4.0です。 こちらで件名の実装の手助けになるようなメソッドをお教え頂けないでしょうか? お忙しいところ大変申し訳ないのですが 上記お問い合わせいたします。
dodox86

2024/12/11 00:45

既に回答もいただいていますが: > 全く情報がないので > どのような語句で検索すれば良いのかも分からないので > 地図をドラックで動かすのを何と呼ぶのかお伺いしたい。 「ドラック」はドラッ"グ"(drag)が正しいです。(drag) 「全く情報が無い」とは信じられませんが、例えば以下のようにほとんど原文のまま、雑にAIに訊ねてみてもサンプルコード付きで回答が得られることも多いです。ただし、本当に使えるかどうかはご自身で確認する必要があります。 Copilotに訊ねた例: 「C++で、Googleマップみたいに地図データがあった際にドラッグで地図の表示をスクロールしたい。地図の縮小拡大もしたい。」 ここでは載せませんが、Qtと言うGUIフレームワークを使ったサンプルコードを提示されました。 実際にはどういう地図データを使うのか、緯度経度、住所なども扱うのか。画像だけで良いのか。スタンドアロン(PCローカル)かクラウドやWEB経由で使うのか。画面の表示方法は? C++でないとダメなのか?等たくさん検討することがあります。 > 見つかりました。 > フレームワークは.NETフレームワークv4.0です。 .NET Framework 4.0は一般的にはWindows OSにおけるC#やVB.NETの実行環境なので、素のC++では使えません。その辺りの区別もできないとC++で地図アプリを作るのはかなり難しいはずです。 もっとやりたいこと、ご自身で分かっていることを詳細にしましょう。 [質問するときのヒント] https://teratail.com/help/question-tips
fana

2024/12/11 01:34

> 地図データ って何? それを(拡大縮小とかスクロールという要素を考えない状況で)表示すること自体は既にできているの? ……っていうところをまずは明確にした方が良いような? 拡大縮小やスクロールというのを具体的にどう実現するのか? というのは,その表示方法に依存すると思うので.
guest

回答3

0

パソコンの初心者で、プログラムの知識もない方だと判断しました。

Google マップ を自分のホームページに表示することを解説されている方のURLです。
https://www.xserver.ne.jp/bizhp/google-map-embedded/

まず、はじめに、Google マップを C,C++で表示するのは、お勧めしません。
C/C++は、低級言語といい、処理速度が求められる場合に使用するのがいいと思います。

使用する言語、使用できる言語、情報量の多さなどで、検討されることをおすすめします。
おすすめは、上のURLでもあるように、HTMLと JavaScript, そのほか補助ツールの使用です。
検索キーワードは、
ホームページ googleマップの設置方法 使い方
などでいいと思います。

ホームページの作成方法や、Webへのアップロードなども勉強することになるかと思います。
これが負担だと思う場合は、最低HTMLの知識は必須だと思います。
ホームページの作成方法も、どうにもできるか怪しいですが、これも調べてみてわからなかったら
質問すればいいと思います。

WordPress も ホームページもお金がかかります。
ホームページの作成方法がわからない場合は、本屋さんで、ホームページの作成方法が解説されている
本を購入されることをおすすめします。
ネットにも情報がありますが、初心者の方には、わけがわからないと思います。
本だと、まとめられているので安心です。

ゲームを作りたいのか、ホームページを作りたいのか、アプリを開発したいのか
それぞれ入り口は違います。

どういうことをされたいのかを、具体的におっしゃっていただくと回答者も増えると思います。

投稿2024/12/11 10:55

yukkuri_55

総合スコア265

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yukkuri_55

2024/12/11 11:01

ごめんなさい。質問を読み違えました。 画像 スクロール 実装方法 などで、検索するといいと思います。
moitaro123

2024/12/16 21:52

ありがとうございます。 検索しても良いのがHITしなかったので検索単語が悪いのかと思い質問しました。
guest

0

ベストアンサー

一般的にGoogleMapのようなUIを実現するには以下の要素が必要になります。

  • 地図タイルサーバー: 事前に様々な拡大率で地図情報を描画した大量の画像を保管・提供するサーバー
  • UI部分: 拡大率や表示範囲から適切なタイルを特定して地図タイルサーバーからタイルを取得して表示する部分

地図タイルサーバーは開発中であれば公開されているOpenStreetMapや国土地理院のものを利用することで代用できますが、本格運用の際には自分で保持する必要があります。

UI部分は探せばVisual C++でのサンプル実装もみつかるかもしれませんが、WebViewというコンポーネントを使ってアプリ内にブラウザを表示させ、実績があるJavascriptライブラリ(leaflet.jsやOpenLayersなど)を使い地図を表示させて、これを制御する方が現実的な気がします。

他人様の公開ページで恐縮ですが、以下のWebPageの内容が参考になるかと思います。
WebView内でleaflet.jsを利用して地図を表示しているように見えます。
https://www.pahoo.org/e-soul/webtech/cpp01/cpp01-12-01.shtm

MinGWを使っているのでVisual C++に読み直しが必要な部分がありますが、WebViewの利用はVisual C++の方が楽だと思います。

参考になれば幸いです。

投稿2024/12/11 03:00

toge_

総合スコア280

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

toge_

2024/12/17 07:32

挑戦してみてください。 新規の知識が必要になってしまうと思いますが、自前でタイル描画のロジックを作るよりは簡単だと思います。
guest

0

地図の前に普通の画像からというか、地図も画像だと思うので。
まずは画像を表示させること。
C++画像表示で検索すれば多数ヒットするのではないかと。
VS使ってMFCでもよければ、さらに情報が集まるでしょう。
使用するのは主に
CreateCompatibleDC
CreateCompatibleBitmapなどか。

・拡大縮小はホイール操作をするとは思うので、ホイールのイベントに操作量を記憶させて再描画する
描画処理(OnDrawかな)にて、StretchBltで拡大/縮小率を操作

・移動
表示ウィンドウ内でのクリック位置の取得
クリック位置とドラッグによるマウス移動位置をもとに表示させる始点位置を決めて画像の再描画を続ける
こちらも描画処理(OnDrawかな)にて、StretchBltでどうぞ。

古からの泥臭いやり方だけれども、まずはここから?
多分検索した先に書いてあると思いますが、ともに定番の裏画面に送る処理は必須。
簡単にあれ使ってこれ使ってを探すより、基礎を学んだほうが良いと思います。

投稿2024/12/10 07:00

ardin

総合スコア555

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ardin

2024/12/10 08:59

全然違って、本当にGoogleMapのように地図データからとなった場合には、この手法ではダメだと思いますのであしからず。 あくまでも画像表示の拡大縮小と移動についてとなります。
moitaro123

2024/12/16 21:49

いえいえ 情報ありがとうございました。 助かりました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.34%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問