不能在不同方法中定义的内部类中引用非最终变量pcurl1

时间:2014-02-17 02:43:14

标签: java android google-maps google-maps-markers

执行应用程序,在Google Maps Fragment上显示标记,并在点击时在浏览器中打开链接,但我有一个标记,我不希望这种情况发生。

GoogleMap mMap;
mMap = ((MapFragment) getFragmentManager().findFragmentById(R.id.fragment1)).getMap();
mMap.addMarker(new MarkerOptions()
    .position(new LatLng(lat3, lng3))
    .snippet(bud1)
    .title(name1));
mMap.setOnInfoWindowClickListener(new OnInfoWindowClickListener() {
    @Override
    public void onInfoWindowClick(Marker marker) {
        Uri uriUrl = Uri.parse(pcurl1);
        Intent launchBrowser = new Intent(Intent.ACTION_VIEW, uriUrl);
        startActivity(launchBrowser);
    }
});

现在我想在if (.... != "Your Position")中实现onInfoWindowClick(),但我不知道如何在标记内检查标记内容。

编辑:出现新问题"无法引用在不同方法中定义的内部类中的非最终变量pcurl1"如果我把它设置为最终它会破坏它的功能,因为它被设置在一个循环中。

1 个答案:

答案 0 :(得分:0)

addMarker方法返回Marker个对象。对于您的位置标记,请将其另存为字段,例如myLocationMarker并在回调中执行

if (!marker.equals(myLocationMarker)) {
    // ...