更改GoogleMap Marker android的自定义信息窗口的位置

时间:2013-07-12 18:51:50

标签: java android eclipse

我已将自定义InfoWindow添加到我的GoogleMap对象中,如下所示

      mMap.setInfoWindowAdapter(new InfoWindowAdapter() 
      {
            @Override
            public View getInfoContents(Marker marker) 
            {
                return null;
            }

            @Override
            public View getInfoWindow(Marker marker) 
            {
                View v = getLayoutInflater().inflate(R.layout.marker_info_window_layout,null,false);
                TextView title = (TextView) v.findViewById(R.id.title);
                TextView desc  = (TextView) v.findViewById(R.id.desc);
                TextView level = (TextView) v.findViewById(R.id.level);
                final int position = Integer.valueOf(marker.getSnippet());

                Players player = playersArray.get(position);
                title.setText(player.name);
                level.setText("Level " + String.valueOf(player.level));
                return v;
            }

效果很好。不过我的布局箭头与标记相距甚远。所以我想添加一个偏移,让我们说至少50px。

根据此处提供的文件

https://developers.google.com/maps/documentation/javascript/reference#MarkerOptions

anchorPoint : The offset from the marker's position to the tip of an InfoWindow that has been opened with the marker as anchor.

然而,当我这样做时

mMap.addMarker(new MarkerOptions()
         .position(p)
         .anchor(0,50)
         .snippet(String.valueOf(position))
         .draggable(false)
         .icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_RED)));

标记消失,甚至不显示.. 怎么了?没有锚选项他们工作正常。

2 个答案:

答案 0 :(得分:1)

目前不可能。如果有人能找到,请在这里发帖。

答案 1 :(得分:0)

  

有什么问题?

有问题的是您正在阅读JavaScript API文档。这就是网址中有javascript的原因。

MarkerOptions的Maps V2 for Android文档告诉a different story for anchor()

  

锚点在连续空间[0.0,1.0] x [0.0,1.0]中指定,其中(0,0)是图像的左上角,(1,1)是底部 - 右上角。