标签: mapbox-gl-js

如何在mapbox-gl-js中的标记上添加"click"监听器

我使用以下示例在地图上添加了几个标记:

https://www.mapbox.com/mapbox-gl-js/example/geojson-markers/

现在我想在用户点击标记图像时显示弹出窗口,但我找不到优雅的解决方案.有帮助吗?

mapbox-gl-js

10
推荐指数
4
解决办法
2万
查看次数

使用外部地图的Mapbox GL

我想在我的Android应用程序中使用Mapbox GL.这项服务即将发布,我有一个关于使用渲染器的棘手问题.

我喜欢渲染器本身,但我真的想在应用程序中使用我自己的地图数据(而不是Mapbox提供的数据和支付的数据).例如,我想自己解析OpenStreetMaps数据,以某种方式自定义它,然后放入渲染器内部以在我的应用程序中显示它.

现在问题是:使用Mapbox GL时是否可以使用我自己的地图数据?或者它只能用于Mapbox数据?

预先感谢您的任何帮助.也许你知道其他任何做得好的解决方案吗?问题是,我想要矢量图块,而不是光栅图块.这个项目计划在以后为iOS开发.

android openstreetmap mapbox mapbox-gl mapbox-gl-js

10
推荐指数
2
解决办法
2220
查看次数

样式没有加载:Mapbox GL JS

我的目标是创建一个前后地图,在地图上显示一系列坐标标记.

执行代码时,我在控制台中看到此错误消息: Style is not done loading

最终目标是看到一个光标,允许用户水平滑动并查看地图的变化(从之前到之后).

到目前为止,这是我的代码,任何帮助都会有很长的路要走!

$(document).ready(function() {
    var request_one = $.ajax({
        url: "https://geohack-framework-gbhojraj.c9users.io/ny",
        dataType: 'json'
    })
    var request_two = $.ajax({
        url: "https://geohack-framework-gbhojraj.c9users.io/man",
        dataType: 'json'
    });
    $.when(request_one, request_two).done(function(response_one, response_two) {
        console.log(response_one, response_two);
        //create map of ny state
        var nyGeo = response_one[0];
        var manGeo = response_two[0];
        (function() {
            mapboxgl.accessToken = 'pk.eyJ1IjoiamdhcmNlcyIsImEiOiJjaXY4amM0ZHQwMDlqMnlzOWk2MnVocjNzIn0.Pos1M9ZQgxMGnQ_H-bV7dA';
            //manhattan map
            var manCenter = manGeo.features[0].geometry.coordinates[0][0][0];
            console.log('man center is', manCenter);
            var beforeMap = new mapboxgl.Map({
                container: 'before',
                style: 'mapbox://styles/mapbox/light-v9',
                center: manCenter,
                zoom: 5
            });
            console.log('man geo is …
Run Code Online (Sandbox Code Playgroud)

mapbox-gl-js

10
推荐指数
1
解决办法
5407
查看次数

Mapbox:在底图上只显示一个国家?

我正在使用 Mapbox GL JS。有什么方法可以让我的基础层看起来像 Mapbox Light 示例,但只显示英国?

我假设我会使用 Mapbox Studio 来构建我自己的基础层,但我在 Studio 中看不到任何按国家/地区过滤的方法。

如果这是不可能的,有什么办法可以只在英国显示标签,而将其他国家/地区显示为填充的多边形?(根据这个未回答的问题。)

mapbox mapbox-gl-js

10
推荐指数
1
解决办法
8925
查看次数

Mapbox GL js可用图标

我正在将一个Web应用程序从Mapbox.js重写为Mapbox GL js.使用标准的'mapbox:// styles/mapbox/streets-v8'样式,在哪里可以找到所有工作标记图标的列表?

这是我的代码:

m.map.addSource("markers", {
        "type": "geojson",
        "data": {
            "type": "FeatureCollection",
            "features": {
                "type": "Feature",
                "geometry": {
                    "type": "Point",
                    "coordinates": ["-75.532965", "35.248018"]
                },
                "properties": {
                    "title": "Start",
                    "marker-symbol": "entrance",
                    "marker-size": "small",
                    "marker-color": "#D90008"
                }
            }
        }
    });
    m.map.addLayer({
        "id": "markers",
        "type": "symbol",
        "source": "markers",
        "layout": {
            "icon-image": "{marker-symbol}-15", //but monument-15 works
            "text-field": "{title}",
            "text-font": ["Open Sans Semibold", "Arial Unicode MS Bold"],
            "text-offset": [0, -1.6],
            "text-anchor": "top"
        }
    });
Run Code Online (Sandbox Code Playgroud)

我读到所有Maki图标都应该用于没有图标作为默认值的样式:https: //github.com/mapbox/mapbox-gl-styles/issues/241 但是大多数都不起作用.另外还有尺寸问题 - 对于Maki来说,他们是小型,中型和大型,现在我看到了-11和-15.

我只需要使用一些基本的标记图标.

javascript mapbox mapbox-gl-js

9
推荐指数
1
解决办法
7834
查看次数

基于聚合值而不是点数计算mapboxgl中的标记聚类

我一直在寻找MapBox GL中的聚类标记(https://www.mapbox.com/mapbox-gl-js/example/cluster/),但我希望这样做有点不同.

从本质上讲,我有一个geojson文件,其中包含我们校园内每栋建筑物(点)的事件数.我想在标记中显示该数字,然后当缩小时,标记会折叠并将该标记的值添加到一起.

我看到的聚类示例只是计算点数,但似乎没有提供聚合属性.这样的事情可行吗?

markerclusterer mapbox mapbox-gl-js

9
推荐指数
2
解决办法
1424
查看次数

Mapbox GL JS:缩放到过滤多边形?

我正在使用Mapbox GL JS来显示多边形图层.我想允许用户从下拉列表中选择一个名称,然后突出显示并缩放到匹配的多边形.

我已经知道如何突出显示匹配的多边形map.setFilter,但我不知道如何缩放到匹配多边形的边界.这是我目前的代码:

map.addLayer({
    'id': 'polygon_hover',
    'source': 'mysource',
    'source-layer': 'mylayer',
    'type': 'fill',
    'paint': {
        'fill-color': 'red',
        "fill-opacity": 0.6
    },
    "filter": ["==", 'CUSTNAME', ""]
});
// Get details from dropdown
custname.on("change", function(e) {
    // get details of name from select event
    map.setFilter('polygon_hover', ["==", 'CUSTNAME', name]);
    // Get bounds of filtered polygon somehow?
    // var bounds = ??;
    // map.fitBounds(bounds);
});
Run Code Online (Sandbox Code Playgroud)

我已经检查了缩放到边界Mapbox示例,但它假设您已经知道边界是什么.

有没有办法可以在Mapbox中获得与地图过滤器匹配的多边形边界?

mapbox mapbox-gl-js

9
推荐指数
2
解决办法
1973
查看次数

相对于 Mapbox GL JS 中的缩放级别缩放标记大小

当地图的缩放级别增加时,我想减小标记的大小。我怎样才能做到这一点?

mapbox mapbox-gl-js

9
推荐指数
1
解决办法
2598
查看次数

为什么我在IOS上获得Mapboxgl api的空白页面?

工作mapboxglionic3,angular4和科尔多瓦.

我已经构建了.apk和.ipa文件.我在我的Android设备上安装了.apk文件,它按预期工作(ie mapbox tiles, my icons (I have added some icons to custom some functionalities for eg. added an icon to switch the map style) and my markers are loaded successfully).

当我在我的Iphone中安装.ipa文件时,我的图标只加载但mapbox图块没有加载.也是标记.我得到空白的白色屏幕.

我的实施有什么问题?

let data = {myJson data};

mapboxgl.accessToken = 'My access token';
var map = new mapboxgl.Map({
container: 'map',
style: 'mapbox://styles/mapbox/streets-v9',
attributionControl: false,
center: [-74.50, 40],
zoom: 12
});

map.on('load', function () {
 map.addSource("place", {
    type: "geojson",
   data: data,
   cluster: true,
   clusterMaxZoom: 14, …
Run Code Online (Sandbox Code Playgroud)

ios mapbox mapbox-gl mapbox-gl-js mapbox-marker

8
推荐指数
1
解决办法
614
查看次数

如何将mapbox-gl-draw导入Angular 2/4?

我在我的Angular 2/4应用程序中导入模块,如下所示:

import { MapboxDraw } from '@mapbox/mapbox-gl-draw/dist/mapbox-gl-draw';
Run Code Online (Sandbox Code Playgroud)

并在其中一个组件中使用它:

var draw = new MapboxDraw({
   displayControlsDefault: false,
   controls: {
     polygon: true,
     trash: true
   }
});

map.addControl(draw);
Run Code Online (Sandbox Code Playgroud)

但是当我打开页面时收到错误:

ERROR TypeError: __WEBPACK_IMPORTED_MODULE_4__mapbox_mapbox_gl_draw_dist_mapbox_gl_draw__.MapboxDraw is not a constructor
Run Code Online (Sandbox Code Playgroud)

导入mapbox-gl-draw的最佳方法是什么?

mapbox mapbox-gl-js angular

8
推荐指数
1
解决办法
3123
查看次数