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

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

新規登録して質問してみよう
ただいま回答率
85.48%
Google マップ

Google Mapは、Google社がオンラインで提供している地図・ローカル検索サービスです。GIS(Geographic Information System:地理情報システム)の中の「WebGIS」に該当します。地図・航空写真・地形の表示方式があり、それぞれユーザーが縮尺を調整して表示させることができます。地域の情報サービスを検索する機能やルート検索の機能も搭載されています。

Xamarin

Xamarin(ザマリン)は、iPhoneなどのiOSやAndroidで動作し、C# 言語を用いてアプリを開発できるクロスプラットフォーム開発環境です。Xamarin Studioと C# 言語を用いて、 iOS と Android の両方の開発を行うことができます。

Q&A

解決済

2回答

2864閲覧

GoogleMapについて

randr

総合スコア202

Google マップ

Google Mapは、Google社がオンラインで提供している地図・ローカル検索サービスです。GIS(Geographic Information System:地理情報システム)の中の「WebGIS」に該当します。地図・航空写真・地形の表示方式があり、それぞれユーザーが縮尺を調整して表示させることができます。地域の情報サービスを検索する機能やルート検索の機能も搭載されています。

Xamarin

Xamarin(ザマリン)は、iPhoneなどのiOSやAndroidで動作し、C# 言語を用いてアプリを開発できるクロスプラットフォーム開発環境です。Xamarin Studioと C# 言語を用いて、 iOS と Android の両方の開発を行うことができます。

0グッド

0クリップ

投稿2016/09/20 21:54

Xamarin.Forms.GoogleMapsを使用して地図の表示をしています。
以下2点について質問がございます。

  1. 現在位置について

IsShowingUser = true; にすることで現在位置が表示できますが、
その現在位置を取得したり、移動したりすることは可能でしょうか?

  1. 検索について

SearchBarを実装して施設などを検索する方法はありますか?
自分で情報を持っていてそれに対して検索をかける必要がありますか?

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

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

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

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

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

guest

回答2

0

ベストアンサー

Xamarin.Forms.GoogleMaps の作者です。

1. 現在位置について

IsShowingUser = true と直接関係はありませんが、 Map.VisibleRegion で、現在表示されている地図の領域が取得できます。この領域の中心が現在位置になるでしょう。

2. 検索について

Xamarin.Forms.GoogleMaps は、 ijufumi さんも紹介されている Geocoder(住所から緯度経度を得る)API のみです。
当然ながら、これを呼び出す画面は、自力で作成する必要があります。


Xamarin.Forms.GoogleMaps は、 Android/iOS の Google Maps API(Android / iOS) を、 Xamarin.Forms で使えるようにラップして提供するものです。とは言え、まだ移植は完全ではないので、リクエストがあれば issues(日本語でおk) で受け付けます。

投稿2016/09/21 07:14

amay077

総合スコア1075

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

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

randr

2016/09/22 11:15

わかりにくい質問ですいません。 現在地を取得したい理由ですが、地図のページを表示したときに現在地を地図の中心に表示したいのです。 現在GenymotionのNexus(API21) で検証中なのですが、XFGoogleMapSampleのBasicページを表示すると初期表示がローマになります。 IsShowingUser = trueの状態でもローマが表示されます。 また、その状態で現在地を表示するボタン(IsShowingUserで表示されるボタン)を押すと、設定してあるGPSの場所に移動します。 なので、現在地がわかれば表示時にMoveToRegionしようかと考えていました。 実機のXperia(API16)で自分で作ったアプリでも同様の動作になります。 余談ですがXFGoogleMapSampleを実機で実行すると、Page自体は表示されるのですが、Mapが表示されない(グレーアウト)状態です。ただし、Googleの文字やZoomボタンなどは表示され、Clickイベントは動作する状態です。何か端末の設定が不十分なのでしょうか?
amay077

2016/09/22 12:13

これは、Android や iOS の Google Maps API でも同じですが、IsShowingUser = true の機能は、現在地ボタンを地図に表示することです。なので「画面表示時から、現在地を地図の中心に表示したい」とは目的が異なります。 これを実現するには、GPSから位置を取得するのは自力で行って、その結果を地図の初期値に設定するしかないでしょう。 また、GPSからの位置の取得は時間がかかるので、地図のページを表示するより前に、位置の取得を行う必要があるでしょう。 > XFGoogleMapSampleを実機で実行すると、Page自体は表示されるのですが、Mapが表示されない API キーが正しくないと思います。同条件でエミュレータでは動作し、実機では動作しないなら話は別ですが。
randr

2016/09/24 06:30

GoogleMapが現在地を表示できているので、GoogleMap自体からその場所を取得できるのかと思っていました。 やはり別で実装するしかないんですね。 ありがとうございました。
guest

0

動かしていませんが、それぞれGithubにアップされているサンプルが参考になりそうです。

1. 現在位置について

https://github.com/amay077/Xamarin.Forms.GoogleMaps/blob/master/XFGoogleMapSample/XFGoogleMapSample/PinsPage.xaml.cs

MapScanを使っているところを見ると良いかもしれません。
MapScanクラスのコードも併せて見てみてください。

2. 検索について

https://github.com/amay077/Xamarin.Forms.GoogleMaps/blob/master/XFGoogleMapSample/XFGoogleMapSample/BasicMapPage.xaml.cs

Geocoderを使っているところを見ると良いかもしれません。

投稿2016/09/21 01:51

ijufumi

総合スコア276

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問