BlackBerry и картографические приложения, такие как Yelp и Google Map
Это загруженный вопросом пост от кого-то, кто только начинает разработку BB. Любое руководство высоко ценится.
Как реализованы приложения BlackBerry на основе карт, такие как Yelp и Google Map? Как и в веб-версии. Визг на ББ позволяет вам искать рестораны и т. Д. В зависимости от текущего или указанного местоположения. Результат поиска находится в форме списка или представления карты, отображающего маркеры результатов поиска. Карта Yelp работает на Bing. Как карта вместе с маркерами вызывается в коде BB? Для представления списка, что используется для получения списка результатов из базы данных. Можно ли использовать какую-либо базу данных?
Google Map 3.2 для ББ теперь поддерживает слои. Опять же, как вызываются карты Google? Вы также можете выбрать маркер (например, Wiki, АЗС) определенного местоположения непосредственно на карте и просмотреть информацию об этом месте (например, Wiki, адрес АЗС). Как это делается?
Мои знания в картографической технологии, а также в разработке BB очень ограничены, поэтому приветствуются как базовые, так и глубокие отзывы.
1 ответ
У меня нет опыта написания реальных gps-приложений для blackberry, ниже приведены лишь мои наблюдения и мысли о возможных обходных путях.
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, вы найдете только функции поиска, которые могут при желании использовать Карты Google для отображения местоположения результатов поиска на вашем веб-сайте.
Bing, похоже, является аналогом MS для Google Maps. И есть ASP Bing Map Control, который вряд ли можно использовать при разработке BB.
Приложение 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.