标签: mapbox

mapbox.js:设置地图限制范围

我正在使用mapbox.js处理地图,但我想设置一个限制来映射边界和缩放.我要在这个脚本中添加什么代码?

var map = L.mapbox.map('map', 'examples.map-9ijuk24y').setView([40, -74.50], 9);
Run Code Online (Sandbox Code Playgroud)

javascript leaflet mapbox

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

Mapbox Android禁用滚动并平移地图

我正在尝试禁用缩放并在地图框中平移mapview.我使用mapbox 0.4.0.目前我可以禁用缩放,但无法禁用平移

    MapView mv = (MapView) tab.findViewById(R.id.mapid);
    mv.setZoom(14);
    mv.setMaxZoomLevel(14);
    mv.setMinZoomLevel(14);
Run Code Online (Sandbox Code Playgroud)

android mapbox

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

传单地图的麻烦(GET mapbox tiles未经授权401)

我正在尝试将传单映射添加到我的网页,我正在使用Mapbox磁贴.我无法让基本教程中的地图工作,我所看到的只是一个灰色屏幕.我有一个来自mapbox的mp id,我已将它添加到我的代码中.附上以下相关代码.

var map = L.map('map').setView([51.505, -0.09], 13);
    L.tileLayer('http://{s}.tiles.mapbox.com/v3/rakshak.l937n12c/{z}/{x}/{y}.png', {
    attribution: 'Map data &copy; <a href="http://openstreetmap.org">OpenStreetMap</a> contributors, <a href="http://creativecommons.org/licenses/by-sa/2.0/">CC-BY-SA</a>, Imagery © <a href="http://mapbox.com">Mapbox</a>',
    maxZoom: 18
    }).addTo(map);
Run Code Online (Sandbox Code Playgroud)

这就是我在控制台中看到的:

GET http://a.tiles.mapbox.com/v4/rakshak.l937n12c/13/4093/2723.png 401 (Unauthorized)
Run Code Online (Sandbox Code Playgroud)

在css我刚刚将地图高度设置为高度:100vh.

我在屏幕上看到的只有地图变焦控制器和灰色屏幕.我错过了一个重要的步骤吗?

编辑1:更新JS代码:

var map = L.map('map').setView([51.505, -0.09], 13);
L.tileLayer('http://api.tiles.mapbox.com/v4/rakshak.l937n12c/{z}/{x}/{y}.{format}?access_token=pk.eyJ1IjoicmFrc2hhayIsImEiOiJ5cHhqeHlRIn0.Vi87VjI1cKbl1lhOn95Lpw', {
attribution: 'Map data &copy; <a href="http://openstreetmap.org">OpenStreetMap</a> contributors, <a href="http://creativecommons.org/licenses/by-sa/2.0/">CC-BY-SA</a>, Imagery © <a href="http://mapbox.com">Mapbox</a>',
maxZoom: 18
}).addTo(map);
Run Code Online (Sandbox Code Playgroud)

leaflet mapbox

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

如何在mapbox传单中将半径以米为单位转换为像素?

我正在开发一个应用程序,我试图在地图上运行一些算法并计算坐标,但它们略有偏差,因为我正在对纬度和经度进行计算并且最终结果被扭曲。

现在我正在尝试将所有坐标转换为 EPSG3857 Web 墨卡托坐标,如下所示:

var crs = L.CRS.EPSG3857;
var zoom = terrainAnalysisMap.getZoom();

markerToPoint = crs.latLngToPoint(marker.getLatLng(), zoom);
markerOnRadiusToPoint = crs.latLngToPoint(markerOnRadius.getLatLng(), zoom);
Run Code Online (Sandbox Code Playgroud)

现在我还有一个半径,我必须将其从米转换为像素,但我不知道如何转换。1米的像素是多少?我的意思是它也取决于缩放级别,对吗?那么如何将半径转换为地图框和传单中的像素呢?

javascript math mercator leaflet mapbox

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

MapBox MB平铺与矢量平铺

我对MapBox中的Tiles有点困惑.据我所知,瓷砖是一块地图,就像拼图一样.

MBTiles是图像,但它们连接到数据库以读取数据并允许交互.因此,如果我移动鼠标,我可以显示光标下的图层的详细信息.

Vector Tiles将所有数据存储在矢量中,它们仅用于快速渲染图像.不可能与这些数据进行交互.

我错了吗?

现在,我看到有MBTiles的工具TileMillVectorTiles的MapBox Studio Classic.我猜他们是出于不同的目的; 第一个用于交互式地图,后者用于快速渲染.那么....为什么TileMill 不再受支持,支持MBStudio?是否可以使用MBStudio制作交互式地图?

谢谢

tile mapbox tilemill geovectortile

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

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
查看次数

java.lang.IllegalArgumentException:已经添加了Lokio/AsyncTimeout

我试图让我的Xamarin应用程序中的MapBox组件工作.

起初我只是在我的Android项目的引用中引用了一个mapbox.dll.使用该方法,当试图给包含mapbox的布局充气时,应用程序会崩溃.

我取消引用mapbox.dll并将mapbox组件添加到我的Android项目中,希望它能解决我的问题.但是,在编译时我现在收到此错误:

/Library/Frameworks/Mono.framework/External/xbuild/Xamarin/Android/Xamarin.Android.Common.targets: Error: java.lang.IllegalArgumentException: already added :  Lokio/AsyncTimeout; (IM.Droid)
Run Code Online (Sandbox Code Playgroud)

我已取消引用以前的mapbox.dll,删除它,清理,删除所有obj和bin目录...仍然得到相同的错误.

任何帮助,将不胜感激.

android xbuild xamarin.android xamarin mapbox

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

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
查看次数

python plotly创建一个与max和min数值相关的颜色标度

这是一个代码,我试图显示每个点的车速.

import plotly.plotly as py
from plotly.graph_objs import *

mapbox_access_token = 'MAPBOX API KEY'


data = Data([
    Scattermapbox(
        lat=dataframe_monday_morning['latitude'],
        lon=dataframe_monday_morning['longitude'],
        mode='markers',
        marker=Marker(
            size=5,
            color =dataframe_monday_morning['speed'],
            colorscale= 'YlOrRd',

            #opacity=0.3,
            symbol = 'circle',

        ),

    )
])
layout = Layout(
    autosize=True,
    hovermode='closest',
    width=1300,
        margin=go.Margin(
        l=0,
        r=0,
        b=0,
        t=0
        ),
    height=700,
    mapbox=dict(
        accesstoken=mapbox_access_token,
        bearing=0,#
        center=dict(
            lat=-36.7526,
            lon=174.7274
        ),
        pitch=0,
        zoom=16.2,
        style='dark',


    ),
)

fig = dict(data=data, layout=layout)
py.iplot(fig, filename='Multiple Mapbox')
Run Code Online (Sandbox Code Playgroud)

但是当我尝试

color =dataframe_monday_morning['speed']
Run Code Online (Sandbox Code Playgroud)

代码选择当前数据最小和最大速度然后给我一个图表.在数据中,一些速度数据间隙非常大,所以我想在我的速度值之间创建一个色标.(例如,如果您选择最高速度200公里/小时,您的其他30公里/小时和90公里/小时看起来颜色相似,但通常速度通常不同)

在此输入图像描述

我的问题是如何创建一个用于选择速度颜色的比例?

编辑:

这是我编辑的数据示例.

13  1.464301e+10    2015-11-15 18:28:50 191 10051   76 …
Run Code Online (Sandbox Code Playgroud)

python mapbox plotly

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