2012-02-06 10 views
0

私のアプリケーションでGPSを使用しています。私は地図上に複数の場所を表示するためにたくさんのことを試みましたが、私は何の解決策も得られませんでした。誰かが私のこの問題を克服するための解決策を持っている場合。私はこのコードを使ってみました。 私を助けてください。Blackberry 5.0でGoogleマップに複数の場所を表示するには?

Thanx事前に。

 StringBuffer document = new StringBuffer(); 

     document.append("<location-document>"); 

     latVec.addElement("19.097971"); 
     longVec.addElement("72.864761"); 
     latVec.addElement("19.066985"); 
     longVec.addElement("72.848969"); 
     addressVec.addElement("abc"); 
     addressVec.addElement("wydj"); 

     for(int j=0;j<latVec.size();j++) 
     {     
      double latlong = Double.parseDouble(latVec.elementAt(j).toString()); 
      double lonlong = Double.parseDouble(longVec.elementAt(j).toString()); 

      int lat = (int)latlong*100000; 
      int lon = (int)lonlong*100000; 
      String addressString = addressVec.elementAt(j).toString();   


      document.append("<location lon='"+ lon +"' lat='"+ lat +"'label='"+ addressString +"' description='"+ addressString +"' />"); 

     } 

     document.append("</location-document>"); 

     String st = new String(document); 

     Invoke.invokeApplication(Invoke.APP_TYPE_MAPS, new MapsArguments(MapsArguments.ARG_LOCATION_DOCUMENT, st)); 

答えて

1
package map; 
import java.util.Vector; 

import net.rim.blackberry.api.browser.Browser; 
import net.rim.blackberry.api.browser.BrowserSession; 
import net.rim.device.api.browser.field2.*; 
import net.rim.device.api.ui.*; 
import net.rim.device.api.ui.component.ButtonField; 
import net.rim.device.api.ui.component.Dialog; 
import net.rim.device.api.ui.container.*; 

public class NewBrowserFieldDemo extends UiApplication 
{ 
    public static void main(String[] args) 
    { 
     BrowserFieldDemo app = new BrowserFieldDemo(); 
     app.enterEventDispatcher(); 
    } 
    public NewBrowserFieldDemo() 
    { 
     pushScreen(new MultiplePoints()); 
    } 
} 




     class MultiplePoints extends MainScreen{ 
      String initial = "<!DOCTYPE html>\r\n" + 
        "<html> \r\n" + 
        "<head> \r\n" + 
        " <meta http-equiv=\"content-type\" content=\"text/html; charset=UTF-8\" /> \r\n" + 
        " <title>Google Maps Multiple Markers</title> \r\n" + 
        " <script src=\"http://maps.google.com/maps/api/js?sensor=false\" \r\n" + 
        "   type=\"text/javascript\"></script>\r\n" + 
        "</head> \r\n" + 
        "<body>\r\n" + 
        " <div id=\"map\" style=\"width: 500px; height: 400px;\"></div>\r\n" + 
        "\r\n" + 
        " <script type=\"text/javascript\">\r\n" + 
        " var locations = ["; 
      String second= " ];\r\n" + 
        "\r\n" + 
        " var map = new google.maps.Map(document.getElementById('map'), {\r\n" + 
        "  zoom: 8,"; 
      String centerPoint =""; 
      String finalpart = " mapTypeId: google.maps.MapTypeId.ROADMAP\r\n" + 
        " });\r\n" + 
        "\r\n" + 
        " var infowindow = new google.maps.InfoWindow();\r\n" + 
        "\r\n" + 
        " var marker, i;\r\n" + 
        "\r\n" + 
        " for (i = 0; i < locations.length; i++) { \r\n" + 
        "  marker = new google.maps.Marker({\r\n" + 
        "  position: new google.maps.LatLng(locations[i][1], locations[i][2]),\r\n" + 
        "  map: map\r\n" + 
        "  });\r\n" + 
        "\r\n" + 
        "  google.maps.event.addListener(marker, 'click', (function(marker, i) {\r\n" + 
        "  return function() {\r\n" + 
        "   infowindow.setContent(locations[i][0]);\r\n" + 
        "   infowindow.open(map, marker);\r\n" + 
        "  }\r\n" + 
        "  })(marker, i));\r\n" + 
        " }\r\n" + 
        " </script>\r\n" + 
        "</body>\r\n" + 
        "</html>"; 
      String[] lt={"12.966085","12.944337","12.925599"}; 
      String[] lon={"77.533264","77.549400","77.594719"}; 
      String[] name={"vijyanagar","Banashankari","jaynagar"}; 
      MultiplePoints(){//StringBuffer html,Vector waypoints,LocationObj center){ 
       StringBuffer html=new StringBuffer(); 
       html.append(initial);   
       for(int i=0 ; i<lt.length; i++){ 
        //LocationObj source = (LocationObj)waypoints.elementAt(i); 
        //String point = "['"+source.getLabel()+"',"+source.getLatitude()+","+ source.getLongitude()+","+i+"],"; 
        String point = "['"+name[i]+"',"+lt[i]+","+ lon[i]+","+i+"],"; 
        //System.out.println("Point is"+point); 
        html.append(point); 
       } 
       html.append(second); 
       centerPoint = " center: new google.maps.LatLng("+lt[0]+","+lon[0]+"),";  
       html.append(centerPoint); 
       html.append(finalpart); 
       //System.out.println("Plot is"+html.toString()); 
       BrowserFieldConfig _bfConfig = new BrowserFieldConfig();   
       _bfConfig.setProperty(BrowserFieldConfig.NAVIGATION_MODE,BrowserFieldConfig.NAVIGATION_MODE_POINTER); 
       _bfConfig.setProperty(BrowserFieldConfig.JAVASCRIPT_ENABLED, Boolean.TRUE); 
      _bfConfig.setProperty(BrowserFieldConfig.USER_AGENT, "MyApplication 1.0"); 

       BrowserField myBrowserField = new BrowserField(_bfConfig); 

       myBrowserField.displayContent(html.toString(), "http://localhost"); 
       HorizontalFieldManager horf=new HorizontalFieldManager(HORIZONTAL_SCROLL); 
       horf.add(myBrowserField); 
       add(horf); 
      } 
     } 
+0

ありがとう親愛なる、それが6.0に細かい作業。 – Hasmukh

関連する問題