我正在尝试在步行环路上进行地图匹配(在同一点开始和结束)。我总是得到:
{
code: "NoSegment",
message: "Could not find a matching segment for input coordinates",
matchings: [ ]
}
Run Code Online (Sandbox Code Playgroud)
我正在传递 17 个坐标(其中第一个和最后一个相同),这些坐标位于布宜诺斯艾利斯这个大城市的中部,因此我很确定周围有足够的道路可以匹配。这是我的要求:
我不关心转弯指令,因此步骤= false,我只想将我的点捕捉到道路。我尝试增加radious,添加时间戳,将它们标记为不作为航路点,但它总是相同的,“NoSegment”
&半径=50;50;50;50;50;50;50;50;50;50;50;50;50;50;50;50;50&时间戳=0;5;10;15;20;25;30; 35;40;45;50;55;60;65;70;75;80&航点=0;1;2;3;4;5;6;7;8;9;10;11;12;13;14; 15;16
这些相同的坐标与 BingMaps 捕捉到道路 API 完美配合,但我更喜欢使用 Mapbox,因为它的定价更加透明。
我目前正在使用如下代码将具有不同图标的多个标记添加到 MapBox 地图中:
L.mapbox.accessToken = 'xxxx';
var map = L.mapbox.map('map')
.setView([XX.0309243, XX.2741612], 14)
.addLayer(L.mapbox.styleLayer('mapbox://styles/mapbox/streets-v11'));
var myLayer = L.mapbox.featureLayer().addTo(map);
var geoJson = {
type: 'FeatureCollection',
features: [
{
'type': 'Feature',
'geometry': {
'type': 'Point',
'coordinates': [XX.2741612, XX.0309243]
},
'properties': {
'title': '11-Jun 21:54:56',
'icon': {
'iconUrl': '/images/markers/marker_045.png',
'iconSize': [32, 32],
'iconAnchor': [25, 25],
'popupAnchor': [0, -25],
'className': 'dot'
}
}
}
]
};
// Set a custom icon on each marker based on feature properties.
myLayer.on('layeradd', function(e) {
var marker = …Run Code Online (Sandbox Code Playgroud) 我正在运行一个 Mapbox 地图,其中的点具有以下样式的图标:
iconImage: ['get', 'icon'],
iconSize: ['interpolate', ['linear'], ['zoom'], 15, 0.0015, 23, 0.2],
iconAllowOverlap: true,
Run Code Online (Sandbox Code Playgroud)
该图标是房屋的图像。插值效果很好,直到缩放非常高并且 iconSize 保持不变但地图更加详细,使房子越来越小: https: //i.imgur.com/6i8OwPL.mp4。
任何建议都会有所帮助。先感谢您。
我绝对可以排除问题是图像的大小,因为我可以使图像的高度大于手机的高度。
mapbox mapbox-gl mapbox-gl-js mapbox-marker react-native-mapbox-gl
当使用 时,我偶然发现了打字稿导入中的奇怪行为@mapbox/mapbox-sdk。我已经安装了@mapbox/mapbox-sdk和@types/mapbox__mapbox-sdk。代码本身可以工作。问题严格来说是打字。
首先我尝试了以下导入:
import { MapiRequest } from '@mapbox/mapbox-sdk/lib/classes/mapi-request';
import Geocoding from '@mapbox/mapbox-sdk/services/geocoding';
import Matrix from '@mapbox/mapbox-sdk/services/matrix';
Run Code Online (Sandbox Code Playgroud)
当我这样做时,这 3 个导入出现 3 个类似的错误
Could not find a declaration file for module '@mapbox/mapbox-sdk/lib/classes/mapi-request'. '<path>/node_modules/@mapbox/mapbox-sdk/lib/classes/mapi-request.js' implicitly has an 'any' type.
Try `npm install @types/mapbox__mapbox-sdk` if it exists or add a new declaration (.d.ts) file containing `declare module '@mapbox/mapbox-sdk/lib/classes/mapi-request';`ts(7016)
Run Code Online (Sandbox Code Playgroud)
接下来我尝试导入基础 Mapbox 库。
Could not find a declaration file for module '@mapbox/mapbox-sdk/lib/classes/mapi-request'. '<path>/node_modules/@mapbox/mapbox-sdk/lib/classes/mapi-request.js' implicitly has an 'any' type.
Try …Run Code Online (Sandbox Code Playgroud) 我有一个 mapbox 弹出窗口,在弹出窗口内我想要一个按钮来调用 vue 组件内定义的方法。
我的弹出窗口:
const popup = new mapboxgl.Popup({ focusAfterOpen: false })
.setLngLat(coordinates)
.setHTML('<button id="button" @click="myMethod">Click here!</button>')
.addTo(map);
Run Code Online (Sandbox Code Playgroud)
我的方法:
myMethod() {
console.log("clicked");
},
Run Code Online (Sandbox Code Playgroud)
我能够向按钮添加一个事件侦听器,该按钮正在工作。但我没有得到在我的 Vue 组件中定义的函数执行。
我的事件监听器:
var button = document.getElementById("button");
button.addEventListener("click", function() {
console.log("clicked");
});
Run Code Online (Sandbox Code Playgroud) 我是 Mapbox 的新手。
我想知道如何在 Javascript 中读取 gpx 文件数据。
我从 mapbox 文档中获得了两个链接。
一个是这个 =>
我想要像这个例子一样的结果。如何在此示例中使用我的 gpx 文件?
https://docs.mapbox.com/mapbox-gl-js/example/geojson-line/
& 其一是 =>
我可以在以下示例中将 mvt URL 替换为我的 gpx URL 吗?当我这样做时,它会抛出一些错误message: "Unimplemented type: 4"
我的目标是使用 Javascript 在 Mapbox 上加载 gpx 文件数据。
谢谢
我正在将mapbox-3d-terrain与新版本的mapbox-gl一起使用。我们希望让用户可以选择切换回 2D。我希望能够
这是将其“打开”的功能。
// manage 3D terrain
enable3DTerrain() {
try {
this.map.addSource('mapbox-dem-2', {
"type": "raster-dem",
"url": "mapbox://mapbox.mapbox-terrain-dem-v1",
"tileSize": 512,
});
this.map.setTerrain({ "source": "mapbox-dem-2", 'exaggeration': 1.5 });
} catch (e) {
console.log({ e });
}
},
Run Code Online (Sandbox Code Playgroud)
有没有取消地形的地图功能?目前我正在完全重新启动/重建/重新加载地图以删除 3D 地形,这不是我想要实现我的解决方案的方式。
我开始探索 Overpass Turbo 和 Mapbox,希望构建我的旅行应用程序。我可以在OT中查询一些数据并获取城镇或岛屿,没问题,我了解查询和导出为Geojson的整个过程。
但出于学习目的,我总是在一个小区域内进行查询,这样我就不会得到太多数据。
此外,各种资源都提到整个地球的 OSM 数据非常庞大,如下所示:https: //wiki.openstreetmap.org/wiki/Downloading_data它说:整个地球是一个巨大的数据量。从区域提取开始,以确保您的设置正常工作。Osmosis 等常见工具或用于数据库导入和转换器的各种导入工具需要数小时或数天才能导入数据,这在很大程度上取决于磁盘速度。
但当我访问 AllTrails、Maps.me 或 Mapbox 等应用程序时,它们似乎显示了大量数据,绝对是主要的 POI。
有人可以简要解释一下这是如何完成的吗?他们真的下载了所有数据吗?或者一点一点地取决于当前的边界框。任何我可以进一步研究的信息,我将不胜感激!
谢谢
PS 我希望用 Node.js 构建我的应用程序,如果这能有所作为的话。
我正在从 react-native-maps 过渡到 rnmapbox,但在让任何图像显示在标记上时遇到问题。我正在渲染图像标记和某些标记的附加徽章。此问题仅在使用图像时出现,CSS 标记工作正常。
左边的图像是我使用 React Native Maps 时的预期结果,右边的图像是使用 MapboxGL 的结果。
下面是我的代码片段:
<MapboxGL.PointAnnotation
key={"vehicle-" + vehicle._id}
id={"vehicle-" + vehicle._id}
coordinate={[vehicle.longitude, vehicle.latitude]}
anchor={
vehicle.status !== "riding" &&
vehicle.status !== "adminCollected" &&
vehicle.status !== "warehoused"
? { x: 0.5, y: 1 }
: { x: 0.5, y: 0.5 }
}
onSelected={() => centerOnMarker(vehicle)}
>
<View style={{ height: 75, width: 75 }}> {/* sized used for testing */}
{vehicle.status === "available" ? (
vehicle.batteryPercentage > 65 ? (
<Image
source={require("../../assets/scooter-pins/green-full.png")}
style={{ height: …Run Code Online (Sandbox Code Playgroud) 我正在使用Mapbox-iOS-SDK 2.1.2,我需要知道用户何时在地图视图上更改缩放级别.我知道如何获得当前的缩放级别,但我没有看到任何委托方法来确定缩放级别实际更改的时间.
我的理由是我试图模仿ESRI中的比例依赖功能,而我只想在缩放级别为15+时显示本地数据存储中记录的注释.
有人知道当缩放级别发生变化时Mapbox是否支持通知?
或者,Mapbox是否支持扩展依赖性?如果确实如此,我想念它,请告诉我,因为这样可以免除我自己的版本.
mapbox ×10
javascript ×4
mapbox-gl ×3
geolocation ×1
ios ×1
mapbox-gl-js ×1
maps ×1
react-native ×1
typescript ×1
vue.js ×1
web ×1