Mapbox 添加不工作的标记
这太疯狂了,AddMarker似乎没有做它应该做的事情。添加标记不起任何作用:Mapbox 添加不工作的标记,mapbox,Mapbox,这太疯狂了,AddMarker似乎没有做它应该做的事情。添加标记不起任何作用: { if(!isVisible()) return; mPinBitmapUtils.retrievePinBitmapAsync(getContext(), recommendation, new OnPinBitmapProcessed() { @Override public void onBitmapProcess(final Pin reco, PinTyp
{
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来达到这个目的 创建包含文本的标记