Use Google Map in Blackberry App

Can someone tell me how to use Google maps in developing BlackBerry apps instead of a Blackberry card?

+6
google-maps blackberry gps jsr179
source share
3 answers

I recently got the idea of โ€‹โ€‹using the Google Maps site from Browser. Field , but this is not possible since GMaps are JavaScript-based and poorly supported by the Blackberry browser.

There are actually two ways to use Google Maps on Blackberry:

+9
source share

Here is a small example:

Form for viewing a static image of Google Maps:

public class frmMap extends Form implements CommandListener { Command _back; MIDlet midlet; Form dis; public frmMap(String title, ImageItem img, MIDlet m, Form d){ super(null); this.midlet = m; this.dis = d; _back = new Command("Back", Command.BACK, 1); addCommand(_back); append(img); setCommandListener(this); } public void commandAction(Command c, Displayable d) { if(c == _back){ Display.getDisplay(midlet).setCurrent(dis); } } } 

Inet class for loading a static image:

 public class INETclass implements Runnable { private String _location = null; private HttpConnection inet; private Pispaal _m; public String url = null; public INETclass(String location, Pispaal m){ _location = location; _m = m; } public void run() { try { //Setup the connection inet = (HttpConnection)Connector.open(url); inet.setRequestProperty("Content-Type", "application/x-www-form-urlencoded"); int rc = inet.getResponseCode(); //Responsecode controleren if(rc == HttpConnection.HTTP_OK){ //Open input stream to read the respone DataInputStream is = new DataInputStream(inet.openInputStream()); StringBuffer sb = new StringBuffer(); int ch; long len = -1; byte[] buffer = null; if(_location == null){ len = is.available(); } if(len != -1){ if(_location == null){ buffer = IOUtilities.streamToBytes(is); }else{ while((ch = is.read()) != -1){ sb.append((char)ch); } } } is.close(); if(_location == null){ _m.OnINETComplete(buffer); }else{ _m.Alert(sb.toString()); } }else{ _m.Alert("URL " + url + " geeft response code: " + rc); try { inet.close(); }catch(Exception e){ _m.Alert("Error: " + e.getMessage()); } } } catch(Exception e) { _m.Alert("Error: " + e.getMessage()); System.out.println("Error: " + e.getMessage()); } finally { try { if(inet != null){ inet.close(); } Thread.currentThread().join(); //Making sure this thread dies }catch(Exception e){ _m.Alert("Error: " + e.getMessage()); System.out.println("Error: " + e.getMessage()); } } } } 

Button action that starts the download and a callback action that loads the image view form

 public void commandAction(Command c, Displayable d) { synchronized(c){ String loc = _location.getText(); if(loc.indexOf(",") > 0){ //if(c == _strCommand){ //INETclass inet = new INETclass(loc, this); //Thread tInet = new Thread(inet); //tInet.start(); //Alert("Locatie word doorgestuurd. Even geduld"); //}else if(c == _mapView){ INETclass inet = new INETclass(null, this); inet.url = "http://www.qeueq.com/gmap.php?location=" + this.lat + "," + this.lon + "&size=" + this.width + "x" + this.height + ";deviceside=true"; Thread tInet = new Thread(inet); tInet.start(); } }else{ Alert("GPS locatie is nog niet beschikbaar."); } } } public void UpdateLocation(double lat, double lon){ String location = lat + "," + lon; this.lat = lat; this.lon = lon; synchronized(location){ _location.setText(location); INETclass inet = new INETclass(location, this); Thread tInet = new Thread(inet); tInet.start(); } } 

Refine and edit the code to suit your needs. Took me a while to figure this out.

0
source share

Now you can use Google Maps instead of BlackBerry maps with our own data, for example, in the image. enter image description here

If you want to use Google maps to show your own locations / markers, you can call up Google maps using the ApplicationDescriptor from your application. Check google maps on your device using CodeModuleManager.getModuleHandle("GoogleMaps"); , it returns an integer, where non zero means that it is available. Then you can add locations to your KML file, you can even customize location pointers using KML file tags.

the Max related example allows only one marker to be used. Thus, the KML file becomes necessary if you need to add multiple markers.

You can watch a simple primer here .

0
source share

All Articles