Blackberry 黑莓定位服务
有人能告诉我如何使用黑莓定位服务吗? 我正在做一个黑莓手机应用程序的项目。我以前从未有过黑莓手机,也没有与任何提供商签订过合同(只拥有3的sim卡和移动设备9000 OS 4.6) 在这个项目中,我目前正试图使用以下代码来检索当前位置(startpoint)和目标位置(endpoint)的坐标。它在模拟器上工作得很好,但在设备上什么都没有。我应该和供应商签订合同吗?这是否只需要GPS或互联网,或两者都可以工作 代码:Blackberry 黑莓定位服务,blackberry,Blackberry,有人能告诉我如何使用黑莓定位服务吗? 我正在做一个黑莓手机应用程序的项目。我以前从未有过黑莓手机,也没有与任何提供商签订过合同(只拥有3的sim卡和移动设备9000 OS 4.6) 在这个项目中,我目前正试图使用以下代码来检索当前位置(startpoint)和目标位置(endpoint)的坐标。它在模拟器上工作得很好,但在设备上什么都没有。我应该和供应商签订合同吗?这是否只需要GPS或互联网,或两者都可以工作 代码: 提前感谢您要在5.0之前的任何版本上获取GPS位置,您必须实例化这些内容 标准
提前感谢您要在5.0之前的任何版本上获取GPS位置,您必须实例化这些内容
Criteria criteria = null;
LocationProvider provider = null;
javax.microedition.location.Location location = null;
之后,必须为条件赋值,使用条件获取LocationProvider的实例,并使用LocationProvider获取位置
criteria = new Criteria();
criteria.setPreferredPowerConsumption(Criteria.POWER_USAGE_HIGH);
criteria.setHorizontalAccuracy(50);
criteria.setVerticalAccuracy(50);
criteria.setCostAllowed(true);
provider = LocationProvider.getInstance(criteria);
location = provider.getLocation(5);
请注意,标准将决定您是使用GPS、Wifi辅助定位还是手机定位,有关标准设置的更多信息,请参见:
然后,要获取坐标,调用方法:location.getQualifiedCoordinates()
那就是。。。您应该从单独的线程调用它。此外,实际的位置管理代码应该位于try-catch块上,但IDE将帮助您实现这一点。在这段代码中,我们将看到哪些模式可用于获取坐标(即,如果手机没有GPS,则应使用satalite信息。) 可用模式正在检索Lat和Long 创建地图视图(地图视图,即地图,设置所需的规格,如缩放、纬度、经度等),然后调用地图,设置的缩放、纬度、经度等将应用于反射到屏幕上的地图
CustomMapField mMapField;
Coordinates mCoordinates;
BlackBerryCriteria blackBerryCriteria = null;
BlackBerryLocation blackBerryLocation = null;
BlackBerryLocationProvider blackBerryLocationProvider = null;
double Doublelat = 0.0;
double Doublelng = 0.0;
blackBerryCriteria = new BlackBerryCriteria();
if(GPSInfo.isGPSModeAvailable(GPSInfo.GPS_MODE_CELLSITE)){
blackBerryCriteria.setMode(GPSInfo.GPS_MODE_CELLSITE);
}else if(GPSInfo.isGPSModeAvailable(GPSInfo.GPS_MODE_ASSIST)){
blackBerryCriteria.setMode(GPSInfo.GPS_MODE_ASSIST);
}else if(GPSInfo.isGPSModeAvailable(GPSInfo.GPS_MODE_AUTONOMOUS)){
blackBerryCriteria.setMode(GPSInfo.GPS_MODE_AUTONOMOUS);
}else{
blackBerryCriteria.setCostAllowed(true);
blackBerryCriteria.setPreferredPowerConsumption(Criteria.POWER_USAGE_LOW);
} try {
blackBerryLocationProvider = (BlackBerryLocationProvider) BlackBerryLocationProvider.getInstance(blackBerryCriteria);
blackBerryLocation = (BlackBerryLocation) blackBerryLocationProvider.getLocation(60);
QualifiedCoordinates qualifiedCoordinates = blackBerryLocation.getQualifiedCoordinates();
Doublelat = qualifiedCoordinates.getLatitude();
Doublelng = qualifiedCoordinates.getLongitude();
mCoordinates = new Coordinates(Doublelat, Doublelng, 0);
MapView mapView = new MapView();
mapView.setLatitude(finalintlat);
mapView.setLongitude(finalintlng);
mapView.setZoom(10);
MapsArguments mapsArgs = new MapsArguments(mapView);
Invoke.invokeApplication(Invoke.APP_TYPE_MAPS, mapsArgs);
}catch(Exception e){
System.out.println("Error in location :"+e.toString());
System.out.println("Error in location :"+e.getMessage());
}
一些解释在这里会有所帮助。
CustomMapField mMapField;
Coordinates mCoordinates;
BlackBerryCriteria blackBerryCriteria = null;
BlackBerryLocation blackBerryLocation = null;
BlackBerryLocationProvider blackBerryLocationProvider = null;
double Doublelat = 0.0;
double Doublelng = 0.0;
blackBerryCriteria = new BlackBerryCriteria();
if(GPSInfo.isGPSModeAvailable(GPSInfo.GPS_MODE_CELLSITE)){
blackBerryCriteria.setMode(GPSInfo.GPS_MODE_CELLSITE);
}else if(GPSInfo.isGPSModeAvailable(GPSInfo.GPS_MODE_ASSIST)){
blackBerryCriteria.setMode(GPSInfo.GPS_MODE_ASSIST);
}else if(GPSInfo.isGPSModeAvailable(GPSInfo.GPS_MODE_AUTONOMOUS)){
blackBerryCriteria.setMode(GPSInfo.GPS_MODE_AUTONOMOUS);
}else{
blackBerryCriteria.setCostAllowed(true);
blackBerryCriteria.setPreferredPowerConsumption(Criteria.POWER_USAGE_LOW);
} try {
blackBerryLocationProvider = (BlackBerryLocationProvider) BlackBerryLocationProvider.getInstance(blackBerryCriteria);
blackBerryLocation = (BlackBerryLocation) blackBerryLocationProvider.getLocation(60);
QualifiedCoordinates qualifiedCoordinates = blackBerryLocation.getQualifiedCoordinates();
Doublelat = qualifiedCoordinates.getLatitude();
Doublelng = qualifiedCoordinates.getLongitude();
mCoordinates = new Coordinates(Doublelat, Doublelng, 0);
MapView mapView = new MapView();
mapView.setLatitude(finalintlat);
mapView.setLongitude(finalintlng);
mapView.setZoom(10);
MapsArguments mapsArgs = new MapsArguments(mapView);
Invoke.invokeApplication(Invoke.APP_TYPE_MAPS, mapsArgs);
}catch(Exception e){
System.out.println("Error in location :"+e.toString());
System.out.println("Error in location :"+e.getMessage());
}