首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何添加图标来动态切换mapboxgl样式?

如何添加图标来动态切换mapboxgl样式?
EN

Stack Overflow用户
提问于 2017-06-26 06:39:42
回答 3查看 3.5K关注 0票数 1

我想在mapboxgl视图中添加一个图标,如下所示。使用Angular2

当我点击图标时,它会自动切换样式(街道-v9,卫星-v9)。

我正在跟踪链接mapboxgl示例

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2017-06-26 17:11:27

你看到这个API方法了吗?https://www.mapbox.com/mapbox-gl-js/api/#map#setstyle

这样,您就可以为地图设置一个新的样式,例如,单击一个图标或按一个按钮或任何你想要的东西。

将此作为参考,以供借鉴:

lo/706 Pot8L/

代码语言:javascript
运行
复制
mapboxgl.accessToken = 'pk.eyJ1IjoiZmFyYWRheTIiLCJhIjoiTUVHbDl5OCJ9.buFaqIdaIM3iXr1BOYKpsQ';
let map = new mapboxgl.Map({
  container: 'map',
  style: 'mapbox://styles/mapbox/streets-v9', 
  center: [-1.77, 52.73],
  zoom: 3,
});

let icon = document.getElementById('icon');

icon.addEventListener('click', function(e) {
	map.setStyle('mapbox://styles/mapbox/light-v9');
}, false)
代码语言:javascript
运行
复制
#icon {
  position: absolute;
  top: 15px;
  left: 15px;
  color: black;
}

#map {
  height: 500px;
}
代码语言:javascript
运行
复制
<link href="https://api.tiles.mapbox.com/mapbox-gl-js/v0.38.0/mapbox-gl.css" rel="stylesheet"/>
<script src="https://api.tiles.mapbox.com/mapbox-gl-js/v0.38.0/mapbox-gl.js"></script>

<div id="map"></div>

<button id="icon">
Switch layers
</button>

票数 1
EN

Stack Overflow用户

发布于 2017-06-27 01:48:09

您想要的是一个切换层的“控件”。Mapbox不包含这样的东西,也没有一个被列为插件 (尚未)。

您应该使用Mapbox的iControl类来创建控件,然后按照Mapbox的说明添加样式和行为:

代码语言:javascript
运行
复制
function LayerSwitchControl() { }

LayerSwitchControl.prototype.onAdd = function(map) {
    this._map = map;
    this._container = document.createElement('div');
    this._container.className = 'mapboxgl-ctrl';
    // change this next line to include a layer-switching icon
    this._container.textContent = 'Hello, world';
    return this._container;
};

LayerSwitchControl.prototype.onRemove = function () {
     this._container.parentNode.removeChild(this._container);
     this._map = undefined;
};

然后,您需要向以下内容添加代码:

  1. 添加控件
  2. 适当地响应click事件。
票数 1
EN

Stack Overflow用户

发布于 2022-04-15 17:52:32

这是我的工作密码,

这是变焦电平控制

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44754214

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档