BlackBerry e app basate su mappe come Yelp e Google Map
-
06-07-2019 - |
Domanda
Questo è un post pieno di domande di qualcuno che ha appena iniziato con lo sviluppo di BB. Qualsiasi consiglio è molto apprezzato.
Come vengono implementate le app BlackBerry basate su mappe come Yelp e Google Map? Come con la versione basata sul web. Yelp per il BB ti consente di cercare ristoranti e amp; ecc. in base alla posizione corrente o specificata. Il risultato della ricerca è sotto forma di un elenco o di una vista della mappa che mostra i marcatori dei risultati della ricerca. La mappa di Yelp è fornita da Bing. Come viene invocata la mappa, insieme agli indicatori, all'interno del codice BB? Per la visualizzazione elenco, ciò che viene utilizzato per recuperare l'elenco dei risultati dal database. È possibile utilizzare qualsiasi database?
Google Map 3.2 per BB ora supporta i livelli. Ancora una volta, come vengono invocate le mappe di Google? Puoi anche selezionare un indicatore (ad es. Wiki, stazione di rifornimento) di una determinata posizione direttamente sulla mappa e visualizzare le informazioni di quella posizione (ad es. Wiki, indirizzo della stazione di rifornimento). Come viene fatto?
La mia conoscenza della tecnologia cartografica e dello sviluppo di BB è molto limitata, quindi sono entrambi benvenuti feedback di base o approfonditi.
Soluzione
Non ho esperienza di scrittura di applicazioni gps nel mondo reale per Blackberry, di seguito sono solo le mie osservazioni e pensieri su possibili soluzioni alternative.
Applicazione Blackberry per Yelp
In effetti, l'applicazione Blackberry di Yelp mostra la mappa se fai una ricerca e poi vai ai risultati e vedi Indirizzo mappa
alt text http://img197.imageshack.us/img197/965/13428830 .jpg alt text http://img269.imageshack.us/img269/ 1976 / 92068364.jpg
Vedi anche Yelp lancia Bing- App Blackberry potenziata
Se guardi API di Yelp troverai solo funzionalità di ricerca che possono < a href = "http://www.yelp.com/developers/examples" rel = "nofollow noreferrer"> facoltativamente utilizza Google Maps per visualizzare la posizione dei risultati di ricerca sul tuo sito web .
Bing sembra essere un analogo MS per Google Maps. E c'è un ASP Bing Map Control che difficilmente può essere utilizzato in Sviluppo BB.
Applicazione Blackberry per Google Maps
alt text http://img193.imageshack.us/img193/9678/39917026 .jpg
Puoi invocare installato Google Maps Mobile dal codice :
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());
}
}
}
Utilizzo della classe di posizione personalizzata:
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);
}
}
Vedi anche Come utilizzare Google Map nell'applicazione Blackberry?
Conclusione
Il browser Blackberry e BrowserField hanno un supporto limitato di JavaScript. Poiché sia ??Bing che GMaps sono basati su JavaScript, il mio sospetto è che utilizzino immagini statiche recuperate dal server per visualizzare il controllo della mappa. Ciò può essere possibile ma ciò significa l'implementazione lato server e tutte le chiavi sviluppatore API richieste.
In alternativa, puoi invocare GMaps installati dal codice su Blackberry.