Javascript 在Mapbox上偏移标记

Javascript 在Mapbox上偏移标记,javascript,three.js,mapbox,mapbox-gl-js,mapbox-marker,Javascript,Three.js,Mapbox,Mapbox Gl Js,Mapbox Marker,我的地图标记如下所示: 正如你所看到的,蓝色标记的中心实际上是我想要的坐标,有没有办法将标记稍微向上偏移一点,使标记的尖端位于我的确切点上,而不是居中 我的标记代码非常标准,就像mapbox文档中的代码一样。看起来像这样: wait nodeList.map((节点)=>{ addSource(node.name,{'type':'geojson','data':{'type':'FeatureCollection','features':[ {'type':'Feature','geomet

我的地图标记如下所示:

正如你所看到的,蓝色标记的中心实际上是我想要的坐标,有没有办法将标记稍微向上偏移一点,使标记的尖端位于我的确切点上,而不是居中

我的标记代码非常标准,就像mapbox文档中的代码一样。看起来像这样:

wait nodeList.map((节点)=>{
addSource(node.name,{'type':'geojson','data':{'type':'FeatureCollection','features':[
{'type':'Feature','geometry':{'type':'Point','coordinates':[node.longitude,node.latitude]},'properties':{}]});
map.addLayer({'id':node.name,'type':'symbol','source':node.name,'layout':{
“图标图像”:“自定义标记”,“文本偏移量”:[0,1.25],“文本定位点”:“顶部”});
});
如果您检查符号层的位置,您会发现有一个选项可以将
图标锚定
属性定义为一个字符串,指示标记中最靠近坐标集的部分。选项有“中间”、“顶部”、“底部”、“左侧”、“右侧”、“左上”、“右上”、“左下”和“右下”

默认值为“中心”,因此如果在锚定选项中使用
图标锚定:底部
,它将正确定位

wait nodeList.map((节点)=>{
addSource(node.name,{'type':'geojson','data':{'type':'FeatureCollection','features':[
{'type':'Feature','geometry':{'type':'Point','coordinates':[node.longitude,node.latitude]},'properties':{}]});
map.addLayer({'id':node.name,'type':'symbol','source':node.name,'layout':{
'图标图像':'自定义标记','图标定位':'底部','文本偏移':[0,1.25],'文本定位':'顶部'});
});

在Mapbox GL的样式定义中已经有一个布局选项“图标偏移”。您可以将其用于基本样式或数据驱动样式。 好的,您应该定义一个可以使用的图像。下面是React Mapbox GL应用程序的使用示例:

    <Source
      id="medya"
      type="geojson"
      data={filtered}
      generateId={true}
    />
    <Layer
      source="medya"
      id="medya"
      type="symbol"          
      layout={{
        "icon-image": "camera",
        "icon-offset": 0.2,
        "icon-size": 0.2,
        "icon-allow-overlap": true,
      }}          
    />