mapbox - 使用 Mapbox API Geocoder Marker 的函数/事件
问题描述
我问这个是因为我已经在 Google Maps API 中完成了这个,但到目前为止还没有在 Mapbox API 上找到任何文档。我希望能够使用地理编码器标记创建函数。我发现关于操纵标记的最接近的事情是改变标记的颜色:
var geocoder = new MapboxGeocoder({
accessToken: mapboxgl.accessToken,
marker: {
color: 'orange'
},
mapboxgl: mapboxgl
});
但是,我希望能够引用标记,以便可以基于 onmouseenter 和 onmouseleave 事件创建函数。有什么建议么?谢谢一堆。
解决方案
目前没有记录的方法来访问 MapboxGeocoder 控件添加到地图的标记。
虽然不是公共 API 的一部分,但您可以通过 访问标记geocoder.mapMarker
,但由于公共 API 中没有记录,因此它可能会在未来的版本中发生变化,并且无法保证使用。
一旦你引用了,geocoder.mapMarker
你就可以获取实际的 Marker 元素,geocoder.mapMarker.getElement()
并使用标准的 HTML/JS 在其上添加事件侦听器。
或者,您可以选择不使用内置标记,而是收听 MapboxGeocoder 事件并将您自己的标记放在地图上。
推荐阅读
- sql - Microsoft SQL Server 与 Visual Studio.net 的连接错误(Windows 窗体)
- spring - 如何定义 StreamsBuilderFactoryBean 的两个实例
- python - view.py 中的 Django PasswordChangeForm 不起作用
- javascript - Angular 2 安装 angular-rating-icons
- git - git submodule "you need to resolve your current index first" but there are no merge conflicts
- sql - SQLite update set value BLOB specific bytes
- reporting-services - 设置图例 SSRS 的表达式
- android - 在选择 SQL Lite 中添加交替计数
- asp.net - 如何在 Asp.net 中使用令牌身份验证调用 Web 服务?
- php - 显示所有预订房间的客户