添加Maki图标而不是Mapbox Geocoder标记

问题描述

一个简单的问题,是否有人用Maki图标替换了Mapbox默认标记。我只看过将Maki图标用于点图块/图层的示例,但我想将其用于非图块功能,特别是替换在地理编码后在刚刚进行地理编码的地址处添加的标记。>

或者,尝试查找与以下Google Maps符号类似的内容。任何建议表示赞赏。

var pinImage =  {
            path: google.maps.SymbolPath.CIRCLE,fillColor: '#ff4b00',fillOpacity: .9,scale: 5,strokeColor: '#CDDC39',strokeWeight: 0,strokeOpacity: .5
        }

解决方法

我认为这个样本就是您要寻找的Use a custom render function with a geocoder

它允许您添加包括图标...的自定义渲染功能。


var geocoder = new MapboxGeocoder({
accessToken: mapboxgl.accessToken,types: 'poi',// see https://docs.mapbox.com/api/search/#geocoding-response-object for information about the schema of each response feature
render: function(item) {
// extract the item's maki icon or use a default
var maki = item.properties.maki || 'marker';
return (
"<div class='geocoder-dropdown-item'><img class='geocoder-dropdown-icon' src='https://unpkg.com/@mapbox/maki@6.1.0/icons/" +
maki +
"-15.svg'><span class='geocoder-dropdown-text'>" +
item.text +
'</span></div>'
);
},mapboxgl: mapboxgl
});
map.addControl(geocoder);

,

MapboxGeocoder控件具有一个marker选项https://github.com/mapbox/mapbox-gl-geocoder/blob/master/API.md#parameters,该选项可在您选择结果时控制放置在地图上的标记。

https://docs.mapbox.com/mapbox-gl-js/example/custom-marker-icons/有一个示例,用于创建带有自定义图标的标记。

因此,您可以创建一个包含Maki中的SVG或PNG图标的HTML元素,并将其用作传递给MapboxGeocoder控件的自定义标记中的元素。

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...