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

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

ただいまの
回答率

90.35%

  • Xamarin

    557questions

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

  • Google マップ

    399questions

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

GoogleMapについて

解決済

回答 2

投稿

  • 評価
  • クリップ 0
  • VIEW 1,296

randr

score 184

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

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

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

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

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

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

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 2

checkベストアンサー

+3

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/22 20:15

    わかりにくい質問ですいません。

    現在地を取得したい理由ですが、地図のページを表示したときに現在地を地図の中心に表示したいのです。

    現在GenymotionのNexus(API21) で検証中なのですが、XFGoogleMapSampleのBasicページを表示すると初期表示がローマになります。
    IsShowingUser = trueの状態でもローマが表示されます。
    また、その状態で現在地を表示するボタン(IsShowingUserで表示されるボタン)を押すと、設定してあるGPSの場所に移動します。
    なので、現在地がわかれば表示時にMoveToRegionしようかと考えていました。

    実機のXperia(API16)で自分で作ったアプリでも同様の動作になります。
    余談ですがXFGoogleMapSampleを実機で実行すると、Page自体は表示されるのですが、Mapが表示されない(グレーアウト)状態です。ただし、Googleの文字やZoomボタンなどは表示され、Clickイベントは動作する状態です。何か端末の設定が不十分なのでしょうか?

    キャンセル

  • 2016/09/22 21:13

    これは、Android や iOS の Google Maps API でも同じですが、IsShowingUser = true の機能は、現在地ボタンを地図に表示することです。なので「画面表示時から、現在地を地図の中心に表示したい」とは目的が異なります。

    これを実現するには、GPSから位置を取得するのは自力で行って、その結果を地図の初期値に設定するしかないでしょう。

    また、GPSからの位置の取得は時間がかかるので、地図のページを表示するより前に、位置の取得を行う必要があるでしょう。

    > XFGoogleMapSampleを実機で実行すると、Page自体は表示されるのですが、Mapが表示されない

    API キーが正しくないと思います。同条件でエミュレータでは動作し、実機では動作しないなら話は別ですが。

    キャンセル

  • 2016/09/24 15:30

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

    キャンセル

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を使っているところを見ると良いかもしれません。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

同じタグがついた質問を見る

  • Xamarin

    557questions

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

  • Google マップ

    399questions

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