【发布时间】:2011-03-16 10:24:13
【问题描述】:
private void initMyLocation() {
myLocOverlay = new MyLocationOverlay(this, myMap);
myLocOverlay.enableCompass();
myLocOverlay.enableMyLocation();
myMap.getOverlays().add(myLocOverlay);
if (myLocOverlay == null)
{
assignFirstLoc();
}
if (myLocOverlay != null)
{
Log.e("error","1");
p = new GeoPoint((int) (myLocOverlay.getMyLocation().getLatitudeE6()), (int) (myLocOverlay.getMyLocation().getLongitudeE6()));
mc = myMap.getController();
mc.animateTo(p);
mc.setCenter(p);
}
我在 logcat 中看到“错误 1”消息,但之后出现空指针异常,我不知道为什么,我相信我使用“if”块检查 myLocOverlay 是否为空。有什么建议吗?
编辑:
这是我分配第一个值的 assignmentGFirstLoc 方法:
private void assignFirstLoc()
{
final String coordinates[] = {"41.00527", "28.97696"};
double lat2 = Double.parseDouble(coordinates[0]);
double lng2 = Double.parseDouble(coordinates[1]);
p = new GeoPoint((int) (lat2 * 1E6), (int) (lng2 * 1E6));
myMap.getController().setZoom(16);
myMap.getController().animateTo(p);
myMap.getController().setCenter(p);
}
【问题讨论】:
-
尝试检查 getMyLocation() 的值
-
怎么样?我认为由于 gps 问题,笔记本电脑无法定位。
-
带有toast消息,我在手机中取了“null”值。
-
这没有意义。你为什么要对
MyLocationOverlay进行空检查?当您在实例化它时检查它时,它显然永远不会为空,因此它永远不会在那里为空。 -
我真的不知道你是否想要我可以发送我的项目。我只想获取我的位置并尝试将我的屏幕居中。
标签: android