在我的应用程序中,我使用的是Google map API v2。我使用map.setMyLocationEnabled(false);
禁用了“我的位置”按钮,我想添加新按钮来执行相同的工作。如何使用其他按钮以与“我的位置”按钮相同的方式显示当前位置?
的原因:
在我的应用程序中,我想使用原始地图应用程序中的操作栏叠加。但当我这样做时,我的位置按钮位于操作栏下方。所以我不得不删除默认的我的位置按钮,并把我自己的。现在,当我点击新按钮时,我不知道如何将地图移动到我当前的位置。
请帮忙。我是谷歌地图的新手。提前谢谢。
答案 0 :(得分:0)
看看这可能会对您的项目有所帮助。
答案 1 :(得分:0)
也是我自己做的,但是创建我自己的标题栏并添加一个新按钮。以下代码可能有所帮助(没有附加XML,您可以自己排序)。在您的活动中添加此方法:
public GeoPoint where(ArrayList<String> coordinates) {
double lat = Double.parseDouble((String) coordinates.get(0));
double lng = Double.parseDouble((String) coordinates.get(1));
GeoPoint p = new GeoPoint((int) (lat * 1E6), (int) (lng * 1E6));
return p;
}
然后,在onCreate中,添加这样的东西,你已经在其中实例化了locationManager等:
final Button phoneLocButton = (Button) findViewById(R.id.HomeButtonG);
phoneLocButton.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
try {
locationManager = (LocationManager) getSystemService(context);
bestProvider = locationManager.getBestProvider(c, true);
loc = locationManager.getLastKnownLocation(bestProvider);
if (loc != null) {
coords.clear();
coords.add("" + loc.getLatitude());
coords.add("" + loc.getLongitude());
}
mc.animateTo(where(coords));
} catch (java.lang.IllegalStateException ill) {
Toast.makeText(getBaseContext(),
"Waiting for location fix...", Toast.LENGTH_SHORT)
.show();
}
}
});
希望这会有所帮助。我有额外的代码使地图居中并在其上插入一个引脚,但这应该让你去?