覆盖 Mapbox 标准样式中的标签
Override a Label in the Mapbox Standard Style
在"Mapbox标准样式"中,其地层造型的复杂性被抽象地去掉——你可以用预先定义的变量来配置,但不能直接编辑地层. 这是设计, 并允许你从我们的地图设计师 不断改进中获益。 那么,当你需要标签 说不同的东西, 出现在不同的缩放级别, 或者干脆不出现的时候,你会怎么做? 这里有一个技术是手术用自己的标签来替换一个单一的标签,同时将标准样式中的其他所有东西保持不动并精确地匹配标签样式. 在下面嵌入的例子中,我们把"纽约"的标签取而代之的是"新阿姆斯特丹". 他们为什么改变,我不能说。 😉 使用经典风格? 如果你在经典的地图箱风格上可以直接访问...
在"Mapbox标准样式"中,其地层造型的复杂性被抽象地去掉——你可以用预先定义的变量来配置,但不能直接编辑地层. 这是设计, 并允许你从我们的地图设计师 不断改进中获益。 那么,当你需要标签 说不同的东西, 出现在不同的缩放级别, 或者干脆不出现的时候,你会怎么做? 这里有一个技术是手术用自己的标签来替换一个单一的标签,同时将标准样式中的其他所有东西保持不动并精确地匹配标签样式. 在下面嵌入的例子中,我们把"纽约"的标签取而代之的是"新阿姆斯特丹". 他们为什么改变,我不能说。 😉 使用经典风格? 如果你在经典的Mapbox风格上可以直接访问编辑符号层,则有更简单的方法:使用层上直接的表达来覆盖标签文本. ưμ㼯A 此帖子具体涉及"标准"风格,内部地层不能被编辑——这需要不同的技术. 第1步:获取标签特征的精确坐标和属性 大部分地图标签出自Mapbox Streets平地平地平地平地平地平地平地平地平地平地平地平地平地平地平地平地平地平地平地平地平地平地平地平地平地平地平地平地平地平地平地平地平地平地平地平地平地平地平地平地平地平地平地平地平地平地平地平地平地平地平地平地平地平地平地平地平地平地平地平地平地平地平地平地平地平地平地平地平地平地平地平地平地平地平地平地平地平地平地平地平地平地平地平地平地平地平地平地平地平地平地平地平地平地平地平地平地平地平地平地平地平地平地平地平地平地平地平地平地平地平地平地平地平地平地 以下是一张简单的地图,只显示出出源地层的分点(并有出水特征作为参考). 点击一个标签, 您将看到其全部数据, 包括坐标和属性: 复制全部 GeoJSON 特性 。 像,,,,,,,,,,以及所有控制标签的样式和显示在哪个缩放级别。 在建立替换功能时你需要匹配这些功能. 第2步:构建一个自定义样式来导入"标准"而不是直接加载"标准"样式,创建一个顶级样式JSON来导入"标准"并同时添加自有源: 和URL必须指向"标准"样式的资产. 没有它们,定居点标签使用的点图标和字体就不会解决. 步骤 3: 添加一个映射出标准样式风格的图层 标准样式使城市标签使用类似和. 您可以调用标准样式地图来检查这些 。 它们包含复杂的 Mapbox Style 表达式,支持像 ,和 等配置属性. 对于一个简单的替换,您可以剥去这个复杂度,并为您的目标预设解析出硬码值. 以下是默认日预设中一个非首都特性的外观: 当您的替换占用同一位置时, 渲染器的符号放置引擎会压制原有的标签—— 大多数情况下不需要额外工作. 如果原始标签出血通过,你可以在点周围添加一小层来明确压制. 洞穴 这层是你的维护。 Mapbox标准样式得到积极维护和更新. 如果 Mapbox 改变未来发行时的和解标签样式, 您的自定义层将不会自动遵循 。 需要重新检查内部层并更新配置以匹配. 硬码值不会遵守标准样式配置. 通过解决他们的默认问题, 你选择了退出这些定制的钩子。 如果您想要您的标签响应主题或光预设的更改,请将全层配置和图案而不是硬编码值带入. 标签位置取决于上下文 。 瓦片的值根据周围的标签密度在瓦片生成时间来计算. 孤立地说,你的标签会使用正确的锚取向,但准确的位置可能看起来与被其他标签所包围的位置略有不同.