質問

これは、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を呼び出すことができます。

scroll top