У меня нет опыта написания реальных gps-приложений для blackberry, ниже приведены лишь мои наблюдения и мысли о возможных обходных путях.
Blackberry Yelp Application
Действительно, приложение Blackberry Yelp показывает карту, если вы выполняете поиск, а затем переходите к результату и видите Map Adress
альтернативный текст http://img197.imageshack.us/img197/965/13428830.jpg альтернативный текст http://img269.imageshack.us/img269/1976/92068364.jpg
См. Также Yelp запускает приложение Blackberry на платформе Bing
Если вы загляните в Yelp API , вы найдете только функции поиска, которые могут дополнительно использовать Карты Google для отображения местоположения результатов поиска на вашем сайте .
Bing является аналогом MS для Google Maps. И есть ASP Bing Map Control , который вряд ли можно использовать при разработке BB.
Blackberry Приложение Google Maps
альтернативный текст 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.