【问题标题】:After clicking on google maps marker new activity doesn't start [closed]单击谷歌地图标记后,新活动未开始[关闭]
【发布时间】:2018-03-18 01:45:20
【问题描述】:

大家好,我在通过点击谷歌地图标记启动新活动时遇到问题,当我点击它时没有弹出窗口。

这是我使用的全部代码:

public class MainActivity extends FragmentActivity implements OnMapReadyCallback {

private GoogleMap mMap;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    // Obtain the SupportMapFragment and get notified when the map is ready to be used.
    SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager()
            .findFragmentById(R.id.map);
    mapFragment.getMapAsync(this);
@Override
public void onMapReady(final GoogleMap googleMap) {
    mMap = googleMap;

    // Add a marker in Sydney and move the camera
    LatLng sydney = new LatLng(-34, 151);
    mMap.addMarker(new MarkerOptions().position(sydney));
    mMap.moveCamera(CameraUpdateFactory.newLatLng(sydney));
    mMap.setOnMarkerClickListener(new GoogleMap.OnMarkerClickListener() {
        @Override
        public boolean onMarkerClick(Marker marker) {
            if (marker.equals(mMap)){
                Intent intent = new Intent(MainActivity.this, MarkerAdded.class);
                startActivity(intent);
            }
                return false;
        }
    });
}

【问题讨论】:

  • 您正在尝试将GoogleMap 对象与Marker 进行比较,它们显然不相等
  • 你这么说是什么意思?
  • marker.equals(mMap) 看你的情况
  • 你这么说是什么意思?嗯,正是我写的
  • 好的,它应该是什么样子?有人可以告诉我吗?

标签: java android google-maps google-maps-api-3


【解决方案1】:
mMap.setOnInfoWindowClickListener(new OnInfoWindowClickListener() {
            @Override
            public void onInfoWindowClick(Marker marker) {
            Intent intent = new Intent(MainActivity.this, MarkerAdded.class);
            startActivity(intent);


            }
        });

  mMap.setOnMarkerClickListener(new GoogleMap.OnMarkerClickListener() {
            @Override
            public boolean onMarkerClick(Marker marker) {
                if (marker.equals(yourMarkerObj))// you should compare with your marker not with the google map obj  or you can normally pass the intent without condition
{
                    Intent intent = new Intent(MainActivity.this, MarkerAdded.class);
                    startActivity(intent);
                }
                    return false;
            }
    });

【讨论】:

    猜你喜欢
    • 2020-03-10
    • 2021-07-23
    • 1970-01-01
    • 2017-09-16
    • 2012-03-04
    • 1970-01-01
    • 2018-05-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多