问题标签 [mapbox-marker]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
351 浏览

android - 事件在标记上开始时地图交互不起作用 [Mapbox]

我有一个使用自定义标记的 Mapbox 地图。我遇到的一个问题是,当我与地图交互时,无论类型(缩放、平移、倾斜等)和使用的手指数量如何,如果一根手指从标记上开始,那么该事件将不起作用。标记单击侦听器没有被调用,因此标记似乎没有消耗该事件。我已将日志记录添加到 Mapbox 视图上的其他事件侦听器中,并且它们都没有被调用(OnCameraChangeListener, OnMapClickListener,OnScrollListenerOnFlingListener

Mapbox 视图上的调试模式已启用。

问题是我们在一个很小的区域里有很多标记,几乎不可能操纵地图。

0 投票
7 回答
49150 浏览

ios - 来自调试器的消息:由于内存问题而终止

我的应用程序使用Geojson文件。我使用MapBox SDK添加MGLPolyline到地图。但问题是我的文件太大,以至于应用程序崩溃并得到错误:Message from debugger: Terminated due to memory issue. 我在第一个循环中遇到了66234 个对象。我试图将数组分块为新数组,但没有成功。请帮我解决问题。这是我在地图上绘制的代码,这是我在 github 上的测试项目,使用 Xcode 8.1 如果有任何不同的 3rd 方可以解决我的问题,也欢迎

编辑:: @Alessandro Ornano 和@fragilecat 非常感谢。但这些解决方案仍然无法解决 iPad 上应用程序的终止问题。我认为很难更改当前代码以使其正常工作,因为数据如此之大。我想我需要另一种适用于大数据的解决方案。就像将数组分块成小数组然后按队列加载它们一样。但我不知道如何开始:(

我向 MapBox 的支持团队发送了一封电子邮件,征求建议。

0 投票
1 回答
3481 浏览

android - 移除或移动标记(Mapbox Android)

我正在使用 Mapbox SDK Android('com.mapbox.mapboxsdk:mapbox-android-sdk:4.1.1@aar' 和 'com.mapbox.mapboxsdk:mapbox-android-services:1.1.0@aar')。我使用离线地图并放置标记,但删除和设置位置不起作用。

我在全球声明:

然后在我的 OnMapReadyCallback() 中,我将 MapboxMap 保存为:

所以我以后可以使用它。

同样在 OnMapReadyCallback 我使用以下标记放置标记:

标记设置正确。然后在 onMapClick(@NonNull LatLng point) 我检索点击的坐标(这是正确的)。但:

1)如果我尝试使用以下方法删除标记:

我在 MapboxMap 中得到“ removeMarker (com.mapbox.mapboxsdk.annotations.Marker) 不能应用于 (com.mapbox.mapboxsdk.annotations.MarkerViewOptions)

2)如果我尝试使用以下方法设置新位置:

我得到:“无法解析方法'setPosition(com.mapbox.maboxsdk.geometry.LatLng)

注意:我导入 com.mapbox.mapboxsdk.geometry.LatLng;

似乎 removeMarker 不适用于 MarkerViewOptions 并且 setPosition 在 geometry.LatLng 中不再存在?

任何想法?

0 投票
0 回答
300 浏览

android - 进入地图视图时标记不会立即绘制,有时它们应该显示在地图视图中但它们没有

我遇到了一些关于在我的应用程序的地图视图上绘制标记的问题,并决定创建一个测试

您可以在以下链接中找到此代码演示的 gif

我已经绘制了 10 个标记,它们都在 0.01 的经度距离处,每当拖动一个标记时,所有标记的位置都会改变,如果我们移动相机,我们可以观察到当它们返回地图视图时,它们不是立即绘制的,而是需要一点时间,有时它们会消失一会儿,在测试过程中我还发现如果某些标记超出地图视图然后更改它们的位置,那么它们不会'即使他们的新位置在显示的屏幕范围内,也不会出现在地图视图中。

我打开了一张票,解释了我的问题,但我还没有弄清楚,但我强烈怀疑这次测试中发现的问题与我的问题有关(在标记上设置新位置时闪烁)

0 投票
1 回答
913 浏览

android - 自定义 Mapbox 片段信息布局

我在我最近的一个项目中一直在使用 Mapbox,我只是想知道是否可以自定义默认标记信息框。

Mapbox 信息框

我希望有一种方法可以使用自定义 xml 布局,以便能够将其他资产添加到信息框(图像、图标等)。我环顾四周,但似乎看不到任何关于此操作的参考,这是 Mapbox 支持的吗?

先谢谢了。

编辑:问题可能有点先发制人地发现了这个https://www.mapbox.com/android-sdk/api/2.2.0/com/mapbox/mapboxsdk/views/MapView.InfoWindowAdapter.html

0 投票
3 回答
7841 浏览

mapbox - Convert coordinates to pixels on screen (and back again)

This is what I'm doing: Clicking a marker on the map to open a side panel and center the map on the marker. The side panel takes up 3/4 of the right side of the screen.

This is what I need to happen: Center the marker according to the 1/4 of the viewport that is left after the panel opens.

I can get the pixel coordinates of the marker and do the calculations of where it needs to translate to while the panel is animating open. The problem is that flyTo() only accepts LngLatLike objects and I cannot convert my pixel coordinates to latitude and longitude. Leaflet.js has a function called containerPointToLatLng() that came in handy before I switched to Mapbox GL.

Given the sofistication of Mapbox GL, despite its newness, I can only imagine this is a possibility. But how?

0 投票
1 回答
254 浏览

javascript - 地图框在错误位置绘制标记

在下面的屏幕截图中,您可以看到一个标记为 Mother Earth Brewery 的标记,但它应该是 Dogfish Head:

在此处输入图像描述

我添加地图框标记的代码是:

变量数据是下面解析的json:

在代码中你可以看到我添加了这个alert("Brewery: " + data[i].brewery + "Lat: " + lat + "Long: " + lng );

以确保正确的值进入

我通过警报一一验证了正确的数据,并与 JSON 的输出进行了比较。一切看起来都正确,我被卡住了,第二组眼睛将不胜感激。谢谢!

0 投票
0 回答
150 浏览

javascript - Mapbox 商店定位器,链接不起作用

我是mapbox的新手。所以,我正在学习如何通过本教程 https://www.mapbox.com/help/building-a-store-locator/进行商店定位器

我堆在“使地图具有交互性”部分。到这里,一切正常。它工作正常,问题是当用户点击侧边栏中的链接(列表)时,没有任何反应。但是,它应该去地图上的特定位置。

这是整个文件。请帮忙。我不知道哪里出错了。 https://www.dropbox.com/s/3wj04pyjguh0j7a/index.html?dl=0

0 投票
1 回答
424 浏览

android - 如何为 Mapbox API 的 Volley Put 请求格式化 JSON

我发誓我已经用尽了我的搜索,并且已经工作了 2 天。我正在尝试使用包含 JSON 对象和嵌入式数组的 Volley Put 请求。

我正在使用 Mapbox API 的示例:https ://www.mapbox.com/api-documentation/#insert-or-update-a-feature

我需要发送的内容:

到目前为止我工作的代码能够将一个新的数据集发布到服务器,但我的意图是在地图上放置一个新的点特征。这里是我的创作...

//这会在服务器上创建一个新的数据集 public void postMethod(View view) {

正确格式化 JSON 并正确设置 PUT 会很有帮助。我真的试过我的大脑了。谢谢。

0 投票
1 回答
2797 浏览

javascript - Mapbox 标记位置错误

我使用mapbox.js API制作了一个简单的 mapbox 地图,并遵循了他们网站上的几个示例。为了显示标记位置,我调用了一个 .geojson 文件,但是标记看起来相当偏离位置,甚至有些负载在海洋顶部。

有人说我调用了两次geojson文件,但我检查了一下,它被加载了一次。

JS代码是: