Java 安卓谷歌地图v2-点击谷歌地图上的某个地方开始新的活动
这就是我的情况: 我有一个活动,它读取当前位置,在文本视图中显示地址,并在活动底部区域的“小”谷歌地图上设置一个标记。在这个地图上,手势被禁用-它只是向用户显示当前位置 如果当前位置不正确,用户应该能够单击地图上的某个位置,这将打开一个新的活动,可以将标记拖到正确的位置 我的问题是: 如何通过单击地图上的某个位置来启动新活动 我尝试了这一点,但无法在onClick方法中表达意图: ! 这是我的密码:Java 安卓谷歌地图v2-点击谷歌地图上的某个地方开始新的活动,java,android,api,google-maps,android-intent,Java,Android,Api,Google Maps,Android Intent,这就是我的情况: 我有一个活动,它读取当前位置,在文本视图中显示地址,并在活动底部区域的“小”谷歌地图上设置一个标记。在这个地图上,手势被禁用-它只是向用户显示当前位置 如果当前位置不正确,用户应该能够单击地图上的某个位置,这将打开一个新的活动,可以将标记拖到正确的位置 我的问题是: 如何通过单击地图上的某个位置来启动新活动 我尝试了这一点,但无法在onClick方法中表达意图: ! 这是我的密码: private void initilizeMap() { if (google
private void initilizeMap() {
if (googleMap == null) {
googleMap = ((MapFragment) getFragmentManager().findFragmentById(
R.id.map)).getMap();
//googleMap.setMyLocationEnabled(true);
googleMap.moveCamera(CameraUpdateFactory.newLatLngZoom(new LatLng(
lat, lng), 13));
googleMap.getUiSettings().setScrollGesturesEnabled(false);
googleMap.setOnMapClickListener(new OnMapClickListener() {
@Override
public void onMapClick(LatLng arg0) {
Intent intent2 = new Intent(this, SettingsActivity.class);
startActivity(intent2);
}
});
addMarker();
}
}
}
当您在调用
startActivity
时使用this
时,您并没有像应该的那样引用上下文
。相反,您引用的是为onMapClickListener
创建的匿名内部类的实例。您需要将this
替换为YourActivityName。这
或使用YourFragmentName.this.getActivity()
取决于外部类是什么(似乎它是片段
…)
请更清楚您下次收到的错误。您所说的“但我无法在onClick方法中放入意图”是什么意思?eclipse给了我一个错误(它没有找到意图类,因为它在活动的内部类中不可用)。我想nasageek解决了我的问题。我明天会尝试。