我在我的应用程序中使用GPS。我尝试了很多在地图上显示多个位置,但直到我没有得到任何解决方案。如果有人有解决方案来克服我的这个问题。我曾尝试使用此代码。 请帮帮我。
提前完成。
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));
答案 0 :(得分: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);
}
}