0

我制作了一个自定义标记,它在地图加载完成时完美显示,但我的问题是放大或缩小地图时,标记更改其位置当我点击标记信息窗口出现在另一个邮政(不在其顶部),我的代码如下,我无法找到解决方案或想法我犯了什么错,请救我。 代码自定义地图标记在android中放大或缩小地图时更改其位置

private void plotMarkers(ArrayList<MyMarker> markers) { 
    if (markers.size() > 0) { 
     for (MyMarker myMarker : markers) { 
      System.out.println("================rounded bitmaps===========" 
        + roundedBitmaps.toString()); 
      // Create user marker with custom icon and other options 
      MarkerOptions markerOption = new MarkerOptions() 
        .position(new LatLng(myMarker.getmLatitude(), myMarker 
          .getmLongitude())); 

      markerOption.icon(BitmapDescriptorFactory.fromBitmap(myMarker 
        .getImgURL())); 

      CameraPosition cameraPosition = new CameraPosition.Builder() 
        .target(new LatLng(myMarker.getmLatitude(), myMarker 
          .getmLongitude())).zoom(12).build(); 

      mMap.animateCamera(CameraUpdateFactory 
        .newCameraPosition(cameraPosition)); 

      Marker currentMarker = mMap.addMarker(markerOption); 

      mMarkersHashMap.put(currentMarker, myMarker); 

      mMap.setInfoWindowAdapter(new MarkerInfoWindowAdapter()); 
     } 
    } 
} 

回答

0

自定义标记以不同的方式为标准的标记工作。你所面对的问题是一个已知的问题,处理这个情况如下的最佳方式:

  • 确保自定义标记的图像是对称的,ID完全一致的锚。
  • 信息窗口也应该类似地对齐标记的中心对齐,否则它看起来很丑。请注意,自定义标记图标通常需要different anchor。对于信息窗口,使用自定义信息窗口布局(使用自定义背景)将其正确对齐到标记。
相关问题