BlackBerryおよびYelpやGoogle Mapなどの地図ベースのアプリ
-
06-07-2019 - |
質問
これは、BB開発を始めたばかりの人からの質問満載の投稿です。どんなガイダンスでも大歓迎です。
YelpやGoogle MapなどのマップベースのBlackBerryアプリはどのように実装されていますか? Webベースのバージョンと同様。 Yelp for the BBでは、レストランとレストランを検索できます。など。現在または指定された場所に基づきます。検索結果は、検索結果のマーカーを表示するリストまたはマップビューの形式です。 YelpのマップはBingを使用しています。地図とマーカーは、BBコード内でどのように呼び出されますか?リストビューの場合、データベースから結果のリストを取得するために使用されているもの。任意のデータベースを使用できますか?
BB向けGoogleマップ3.2は、レイヤーをサポートするようになりました。繰り返しますが、Googleマップはどのように呼び出されますか?地図上で特定の場所のマーカー(Wiki、ガソリンスタンドなど)を直接選択し、その場所の情報(Wiki、ガソリンスタンドの住所など)を表示することもできます。これはどのように行われていますか?
マップテクノロジーおよびBB開発に関する私の知識は非常に限られているため、基本的なフィードバックまたは詳細なフィードバックの両方を歓迎します。
解決
ブラックベリーの現実世界のgpsアプリケーションを作成した経験はありません。以下は、考えられる回避策についての私の観察と考えです。
Blackberry Yelpアプリケーション
確かに、Blackberry Yelpアプリケーションは、検索を実行して結果を表示し、Map Adressを表示すると地図を表示します
代替テキストhttp://img197.imageshack.us/img197/965/13428830 .jpg 代替テキストhttp://img269.imageshack.us/img269/ 1976 / 92068364.jpg
YelpはBingを起動します- Powered Blackberryアプリ
Yelp API を調べると、検索機能のみが見つかります< a href = "http://www.yelp.com/developers/examples" rel = "nofollow noreferrer">オプションでGoogleマップを使用して、ウェブサイト上の検索結果の場所を表示します。
Bingは、GoogleマップのMSアナログのようです。また、ほとんど使用できないASP Bing Map Control があります。 BB開発。
Blackberry Googleマップアプリケーション
代替テキストhttp://img193.imageshack.us/img193/9678/39917026 .jpg
インストール済みのGoogleマップモバイルをコードから呼び出すことができます:
class Scr extends MainScreen {
public Scr() {
}
protected void makeMenu(Menu menu, int instance) {
super.makeMenu(menu, instance);
menu.add(mInvokeGMaps);
}
MenuItem mInvokeGMaps = new MenuItem("Run GMaps", 0, 0) {
public void run() {
GMLocation location
= new GMLocation(51.507778, -0.128056, "London");
invokeGMaps(location);
};
};
public void invokeGMaps(GMLocation l) {
int mh = CodeModuleManager.getModuleHandle("GoogleMaps");
if (mh == 0) {
try {
throw new ApplicationManagerException(
"GoogleMaps isn't installed");
} catch (ApplicationManagerException e) {
System.out.println(e.getMessage());
}
}
URLEncodedPostData uepd = new URLEncodedPostData(null, false);
uepd.append("action", "LOCN");
uepd.append("a", "@latlon:" + l.getLatitude()
+ "," + l.getLongitude());
uepd.append("title", l.getName());
uepd.append("description", l.getDescription());
String[] args = { "http://gmm/x?" + uepd.toString() };
ApplicationDescriptor ad = CodeModuleManager
.getApplicationDescriptors(mh)[0];
ApplicationDescriptor ad2 = new ApplicationDescriptor(ad, args);
try {
ApplicationManager.getApplicationManager()
.runApplication(ad2, true);
} catch (ApplicationManagerException e) {
System.out.println(e.getMessage());
}
}
}
カスタムロケーションクラスの使用:
class GMLocation {
String mName;
String mDescription;
double mLatitude;
double mLongitude;
public GMLocation(double lat, double lon) {
mLatitude = lat;
mLongitude = lon;
}
public GMLocation(double d, double e, String name) {
this(d, e);
mName = name;
}
public GMLocation(double lat, double lon, String name, String descr) {
this(lat, lon, name);
mDescription = descr;
}
public String getName() {
return mName;
}
public String getDescription() {
return mDescription;
}
public String getLongitude() {
return String.valueOf(mLongitude);
}
public String getLatitude() {
return String.valueOf(mLatitude);
}
}
BlackberryアプリケーションでGoogleマップを使用する方法も参照してください
結論
BlackberryブラウザーとBrowserFieldでは、JavaScriptのサポートが制限されています。 BingとGMapは両方ともJavaScriptに基づいているため、サーバーから取得した静的画像を使用してマップコントロールを表示しているのではないかと疑っています。これは可能かもしれませんが、それはサーバー側の実装とすべての必要なAPI開発者キーを意味します。
別の方法として、Blackberryのコードからインストール済みのGMapを呼び出すことができます。