BlackBerry и картографические приложения, такие как Yelp и Google Map

StackOverflow https://stackoverflow.com/questions/1615520

Вопрос

Это сообщение с вопросом от кого-то, кто только начинает разработку BB. Любое руководство высоко ценится.

Как реализованы приложения BlackBerry на основе карт, такие как Yelp и Google Map? Как и в веб-версии. Визг на ББ позволяет искать рестораны & amp; и т.д. в зависимости от текущего или указанного местоположения. Результат поиска находится в форме списка или представления карты, отображающего маркеры результатов поиска. Карта Yelp работает на Bing. Как карта вместе с маркерами вызывается внутри кода BB? Для представления списка, что используется для получения списка результатов из базы данных. Можно ли использовать какую-либо базу данных?

Google Map 3.2 для BB теперь поддерживает слои. Опять же, как вызываются карты Google? Вы также можете выбрать маркер (то есть Wiki, АЗС) определенного местоположения прямо на карте и просмотреть информацию об этом месте (то есть Wiki, адрес АЗС). Как это делается?

Мои знания в области картографии, а также в разработке BB очень ограничены, поэтому приветствуются как базовые, так и глубокие отзывы.

Это было полезно?

Решение

У меня нет опыта написания реальных gps-приложений для blackberry, ниже приведены только мои наблюдения и мысли о возможных обходных путях.

Приложение Blackberry Yelp

Действительно, приложение Blackberry Yelp показывает карту, если вы выполняете поиск, а затем переходите к результату и видите адрес карты

альтернативный текст http://img197.imageshack.us/img197/965/13428830 .jpg альтернативный текст http://img269.imageshack.us/img269/ 1976 / 92068364.jpg

См. также Yelp запускает Bing- Powered Blackberry App

Если вы загляните в API Yelp , вы найдете только функции поиска, которые могут < a href = "http://www.yelp.com/developers/examples" rel = "nofollow noreferrer"> дополнительно используйте Карты Google , чтобы отобразить местоположение результатов поиска на вашем веб-сайте .

Bing является аналогом MS для Google Maps. И есть ASP Bing Map Control , который вряд ли можно использовать в ББ разработка.

Приложение Google Maps для Blackberry

альтернативный текст http://img193.imageshack.us/img193/9678/39917026 .jpg

Вы можете вызвать установленный Google Maps Mobile из кода

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);
 }
}

См. также Как использовать Google Map в приложении Blackberry?

Заключение

Браузер Blackberry и BrowserField имеет ограниченную поддержку JavaScript. Поскольку и Bing, и GMaps основаны на JavaScript, я подозреваю, что они используют статические изображения, полученные с сервера, для отображения элемента управления картой. Это возможно, но это означает реализацию на стороне сервера и все необходимые ключи разработчика API.

В качестве альтернативы вы можете вызывать установленные GMaps из кода на Blackberry.

scroll top