1

マーカーを指すためだけに、php プロジェクトに Google マップ API を使用しました。今、私はアンドロイドアプリを構築しています。私は自分の州の病院のリストを経度と緯度と共に自分の mysql データベースに持っています。GPS から座標を取得し、データベースから半径 10 km 以内の病院を検索するようなアプリを作成したいと考えています。私はAPIのようなものを見てきました

maps.googleapis.com/maps/api/place/search/output?パラメータ

しかし、ここでは独自のデータベースを使用したいと考えています。抜け道はありますか?

前もって感謝します

4

2 に答える 2

0

問題が近くの病院を見つけることである場合は、次のコードを使用できます。

private boolean isItemInRange(double radius,
        double latOrigin, double lonOrigin, double latDestination,
        double lonDestination) {

    double resultRadius = 6371 * Math.acos(Math.cos(Math.PI
            * (90 - latDestination) / 180)
            * Math.cos((90 - latOrigin) * Math.PI / 180)
            + Math.sin((90 - latDestination) * Math.PI / 180)
            * Math.sin((90 - latOrigin) * Math.PI / 180)
            * Math.cos((lonOrigin - lonDestination) * Math.PI / 180));

    if (resultRadius <= radius){
        return true;
    } else {
        return false;
    }
}

デバイスの座標と各病院の座標を渡すだけです。データがサーバー上にある場合は、デバイス座標を送信するだけで、サーバーまたはデータベースに上記の関数を実装できます。

それがあなたを助けることを願っています。

于 2012-08-29T23:02:53.183 に答える
0

私は非常に似たようなことをしましたが、その問題もありました。

この回答を受け取りましたhttps://stackoverflow.com/a/10771017/975959

基本的に、データベースとやり取りするための php ファイルを作成し (Android 経由で直接アクセスするよりも優れたソリューションです)、MySQL に必要な計算を実行させ、10 Km より近いものだけを返すことができます。

幸運を

于 2012-08-29T22:57:14.857 に答える