我的传单openPopup方法存在问题.
showMap = function(elements) {
var jsonp = 'http://a.tiles.mapbox.com/v3/blahblahblah.jsonp';
var m = new L.Map("my_map").setView(new L.LatLng(51.5, -0.09), 15);
var geojsonLayer = new L.GeoJSON();
var PlaceIcon = L.Icon.extend({
iconSize: new L.Point(25, 41),
shadowSize: new L.Point(40, 35),
popupAnchor: new L.Point(0, -30)
});
var icon = new PlaceIcon(__HOME__ + '/images/leaflet/marker.png');
var marker;
for (var i = 0; i < elements.length; i++) {
var address = $("<div/>").html(elements[i].address).text();
var latlng = new L.LatLng(elements[i].latitude, elements[i].longitude);
marker = new L.Marker(latlng, {icon: icon}).bindPopup(address);
if (i == 0) {
marker.openPopup(); …Run Code Online (Sandbox Code Playgroud) 我正在使用Mapbox iOS SDK(2.1.2),我想创建mapview的快照.我可以看到iOS SDK的1.xx版本可以实现这一点,但我没有在当前的API中看到任何方法.我搜索了Mapbox Github回购,但我没有看到任何东西.我也在他们的支持页面上留言,但我没有收到回复.
如果API中尚不存在合适的方法,有人可以提出解决方法吗?或者有人可以建议我自己开始添加功能的地方?
我正在使用此示例来聚合mapbox点:https://www.mapbox.com/mapbox-gl-js/example/cluster/
我希望我可以使用{point_count}作为圆半径属性,但我不确定如何正确使用它.有可能吗?某个对象中是否存在可以访问某处的变量?
我正在编写一个导航应用程序,我需要在用户周围旋转相机(因此,不仅仅是用指南针旋转用户图标,相机围绕用户旋转,给人的印象是地图根据现实生活旋转.)
我似乎无法找到默认模式来执行此操作我已尝试过轴承跟踪模式(GPS和指南针)以及位置跟踪模式:
mapboxMap.getTrackingSettings().setMyLocationTrackingMode(MyLocationTracking.TRACKING_FOLLOW);
Run Code Online (Sandbox Code Playgroud)
由于我无法使其工作,我实施了一个带有基本低通滤波器的自定义指南针,以便围绕用户旋转相机.然而,从Mapbox 4.1.1升级到4.2.1时,我的自定义实现已经破坏(旋转变得非常滞后且非常锯齿状).
我确信有一个更简单的方法可以做到这一点,但我有点麻烦搞清楚.有人可以告诉我,我是否正确的方式,或者是否有一个更容易解决方案,我正在寻找?
先谢谢你!
如何为我添加自定义图像MGLSymbolStyleLayer.以下是我的代码,
let symbolGraphicsLayer = MGLSymbolStyleLayer(identifier: identifier, source: source)
symbolGraphicsLayer.sourceLayerIdentifier = identifier
symbolGraphicsLayer.iconImageName = MGLStyleConstantValue<NSString>(rawValue: "assets/myImage")
symbolGraphicsLayer.iconScale = MGLStyleValue(rawValue: 1)
symbolGraphicsLayer.isVisible = true
self.mapView.style?.addLayer(symbolGraphicsLayer)
Run Code Online (Sandbox Code Playgroud)
谢谢.
我想使用Mapbox绘制一条路线.我试过添加折线:
let polyline = MGLPolyline(coordinates: &coords, count: UInt(coords.count))
mapView?.add(polyline)
Run Code Online (Sandbox Code Playgroud)
但它一直在街道名称之上.我怎样才能在街道名称下方移动?
我正在尝试更改地图集群集地图中的文本颜色(https://www.mapbox.com/mapbox-gl-js/example/cluster/),但我无法弄清楚如何.
以下是相关代码:
map.addLayer({
id: "cluster-count",
type: "symbol",
source: "grundbuch",
filter: ["has", "point_count"],
layout: {
"text-field": "{point_count_abbreviated}",
"text-font": ["DIN Offc Pro Medium", "Arial Unicode MS Bold"],
"text-size": 12
}
});
Run Code Online (Sandbox Code Playgroud)
有人知道怎么做这个吗?我想将数字标签更改为白色.
为了防止在最高缩放级别上出现多个重复的世界地图,我正在使用noWrap=true选项。它运作良好,但仅在地图的左侧(灰色区域),右侧仍显示额外的图块。这是为什么?
UPDATE1:看起来是特定Mapbox磁贴或其加载方式存在问题吗?在这里noWrap和https://{s}.tiles.mapbox.com/v3/ebrelsford.ho06j5h0/{z}/{x}/{y}.png
完美运行:NoWrap可以运行JSBIN链接
但是一旦我改变了使用样式加载图块的另一种方式
我可以向右滚动但仍能获得图块
我打开了一个github问题,我怀疑这是库https://github.com/Leaflet/Leaflet/issues/5938的错误
我想知道是否有可能在mapboxgl.Popup()中渲染一个react组件。像这样:
componentDidMount() {
new mapboxgl.Popup()
.setLngLat(coordinates)
.setHTML(`<div>${<MapPopup />}<p>${moreText}</p></div>`)
//.setDOMContent(`${<MapPopup />}`) ?????
.addTo(this.props.mapboxMap)
})
Run Code Online (Sandbox Code Playgroud)
还是应该使用ReactDOM.render完成?
ReactDOM.render(<MapPopup />, document.getElementById('root'))
Run Code Online (Sandbox Code Playgroud)
该项目在弹出窗口中将具有连接到Redux存储的按钮和输入。
感谢您的输入!
我为此奋斗了很多。面临的挑战是,我可能会在一种样式上绘制几个不同的图层,然后调用setStyle(例如进入卫星视图),这会抹掉我所有的图层。
mapbox ×10
mapbox-gl ×4
ios ×3
javascript ×3
leaflet ×2
android ×1
mapbox-gl-js ×1
react-redux ×1
reactjs ×1
swift ×1