2016-06-28 1 views
0

ご迷惑をおかけして申し訳ございません。私がしたいことはちょっと複雑なので、質問に入れるのは難しいです。他のユーザーが(エンティティ/エンドポイントを使用して)投稿した近くのマーカーを取得するにはどうすればよいですか?

他のユーザーが投稿した近くのマーカーをGoogleマップに読み込み/取得する方法を探しています。だからあなたの現在の場所から、半径50キロ(言いましょう)あなたは、他のユーザーが投稿したマーカーを見ることができますし、それらをタップすることができます。

マーカー(緯度と経度、ユーザー名とともに)をエンティティに格納する方法を知りました。しかし、近くのマーカーを取得してマップにロードする方法がわかりません。私はGoogle Cloud Endpoints APIについて多くの読書をしました。地理空間クエリに関する情報を見つけました。本当に簡単なツールを使用して、あなたの半径を超えるエンティティ(ジオポイントを使用)を除外できます。しかし、ページ上部に次のような通知があります。

これは、データストアの地理空間検索のアルファ版リリースです。 SLAまたは非推奨ポリシーの対象外であり、後方互換性のない変更が行われる可能性があります。プロダクションでの使用はお勧めしません。この機能へのアクセスは、ホワイトリストに登録されたアプリケーションでのみ利用できます。現在、この機能のホワイトリストリクエストは受け付けていません。

だから私はそれを使用したくありません。私はまた、この種のアプリケーションで私を助けることができる安定したもの(サービス)を見つけようとしています。

あなたの回答は大変ありがとうございます。

答えて

0

地理空間クエリはGAになるまで、あなたがGeoPointフィールドと地理空間クエリをサポートしてApp Engineの検索APIを使用することができます。https://cloud.google.com/appengine/docs/java/search/

欠点は、あなたが検索可能なエンティティのそれぞれについて、文書を保存する必要があります。このドキュメントでは、対応するエンティティのGeoPt値と一致するGeoPointフィールドがあります。エンティティのIDをDocumentのIDとして使用するか、Atomフィールドに格納することができます。

次に、ジオスペースクエリを検索APIに送信し、一致するドキュメントを返します。結果ごとに、対応するエンティティIDを含むドキュメントIDまたはAtomフィールドを取得できます。エンティティIDのリストを取得したら、クライアントに返すエンティティを提供して、Datastoreでバッチでキーを取得することができます。

これは理想的ではありませんが(経験から)動作します。

データストアでサポートされている場合、必要に応じて「ネイティブ」ジオスペースクエリに切り替えることができるように、ソリューションを実装することをお勧めします。

+0

あなたの答えをありがとう!とにかく私はメッセージであなたに届くことができますか?エンドポイントについて質問する質問がすぐにありますが、答えを見つけることはほとんどありません。 – SaltySea

関連する問題