Mapbox 添加不工作的标记

Mapbox 添加不工作的标记,mapbox,Mapbox,这太疯狂了,AddMarker似乎没有做它应该做的事情。添加标记不起任何作用: { if(!isVisible()) return; mPinBitmapUtils.retrievePinBitmapAsync(getContext(), recommendation, new OnPinBitmapProcessed() { @Override public void onBitmapProcess(final Pin reco, PinTyp

这太疯狂了,AddMarker似乎没有做它应该做的事情。添加标记不起任何作用:

{
if(!isVisible())
return;

    mPinBitmapUtils.retrievePinBitmapAsync(getContext(), recommendation, new OnPinBitmapProcessed()
    {
        @Override
        public void onBitmapProcess(final Pin reco, PinType pinType, Map<String, String> directories)
        {
            if(!isVisible())
                return;

            recommendation.setName(pinType.getName());

            new AsyncTask<String, Void, PinMarkerOptions>()
            {
                @Override
                protected PinMarkerOptions doInBackground(String... strings)
                {
                    IconFactory iconFactory = IconFactory.getInstance(getContext());

                    Bitmap bitmap = Utils.getBitmapFromFile(getContext()
                            , new File(strings[0])
                            , (int) Utils.convertDpToPixel(48, getContext())
                            , (int) Utils.convertDpToPixel(48, getContext()));

                    Icon icon = iconFactory.fromBitmap(bitmap);

                    LatLng position = new LatLng();
                    position.setLatitude(recommendation.getLatitude());
                    position.setLongitude(recommendation.getLongitude());

                    PinMarkerOptions markerOption = new PinMarkerOptions();
                    markerOption.setPosition(position);
                    markerOption.setMetaData(recommendation.getJSON().toString());

                    if(icon != null)
                        markerOption.setIcon(icon);

                    return markerOption;
                }

                @Override
                public void onPostExecute(PinMarkerOptions marker)
                {
                   mMapboxMap.addMarker(marker);
                }

            }.execute(directories.get(Constants.BLUE_PIN));
        }
    });
}
{
如果(!isVisible())
返回;
mPinBitmapUtils.retrievePinBitmapAsync(getContext(),建议,新OnPinBitmapProcessed())
{
@凌驾
公共无效onBitmapProcess(最终Pin记录、Pin类型、映射目录)
{
如果(!isVisible())
返回;
建议.setName(pinType.getName());
新建异步任务()
{
@凌驾
受保护的PinMarkerOptions doInBackground(字符串…字符串)
{
IconFactory IconFactory=IconFactory.getInstance(getContext());
位图位图=Utils.getBitmapFromFile(getContext())
,新文件(字符串[0])
,(int)Utils.convertDpToPixel(48,getContext())
,(int)Utils.convertDpToPixel(48,getContext());
Icon Icon=iconFactory.fromBitmap(位图);
车床位置=新车床();
position.setLatitude(建议使用.getLatitude());
position.setLongitude(建议使用.getLongitude());
PinMarkerOptions markerOption=新的PinMarkerOptions();
标记选项。设置位置(位置);
markerOption.setMetaData(recommendation.getJSON().toString());
如果(图标!=null)
markerOption.setIcon(图标);
返回标记选项;
}
@凌驾
public void onPostExecute(PinMarkerOptions标记)
{
mMapboxMap.addMarker(marker);
}
}.execute(directories.get(Constants.BLUE_-PIN));
}
});
}
每次我调用
addMarkers
addMarker
时,它都不会显示。我检查了
MapBox
map实例的大小,它确实显示它的大小增加了。尤其是当我删除一个标记或调用
MapBoxMap#clear()
时,会发生这种情况。之后什么也没发生


我使用的是MapBox API v4.2.2。

标记有一个问题-您不能将它们添加到图层的顶部。 如果是这样的话,那么你应该使用SymbolLayer来达到这个目的


创建包含文本的标记。

标记有一个问题-无法将它们添加到图层顶部。 如果是这样的话,那么你应该使用SymbolLayer来达到这个目的

创建包含文本的标记