使用Mapbox API地理编码器标记的函数/事件

使用Mapbox API地理编码器标记的函数/事件,mapbox,mapbox-gl-js,mapbox-gl,mapbox-marker,geocoder,Mapbox,Mapbox Gl Js,Mapbox Gl,Mapbox Marker,Geocoder,我这样问是因为我在谷歌地图API中做过,但到目前为止还没有在Mapbox API中找到任何相关文档。我希望能够使用geocoder标记创建函数。关于操纵标记,我发现最接近的事情是更改标记的颜色: var geocoder = new MapboxGeocoder({ accessToken: mapboxgl.accessToken, marker: { color: 'orange' }, mapboxgl: mapboxgl }); 但是,我希望能够引用该标记,以便能够基于onmousee

我这样问是因为我在谷歌地图API中做过,但到目前为止还没有在Mapbox API中找到任何相关文档。我希望能够使用geocoder标记创建函数。关于操纵标记,我发现最接近的事情是更改标记的颜色:

var geocoder = new MapboxGeocoder({
accessToken: mapboxgl.accessToken,
marker: {
color: 'orange'
},
mapboxgl: mapboxgl
});

但是,我希望能够引用该标记,以便能够基于onmouseenter和onmouseleave事件创建函数。有什么建议吗?非常感谢。

目前还没有文档记录的方法来访问MapboxGeocoder控件添加到地图中的标记

虽然不是公共API的一部分,但您可以通过
geocoder.mapMarker
访问该标记,但由于该标记未在公共API中记录,因此可能会在未来版本中更改,并且无法保证使用

引用
geocoder.mapMarker
后,可以使用
geocoder.mapMarker.getElement()
获取实际的标记元素,并使用标准HTML/JS在其上添加事件侦听器

或者,您可以选择不使用内置标记,而是收听MapboxGeocoder事件并在地图上放置您自己的标记