我尝试通过文档示例逐字添加自定义地图框标记,但不会在地图上显示。没有脚本错误,后续代码运行,除了不可见之外没有任何失败迹象。
这是一个ASP.NET MVC应用程序,在我的cshtml视图中:
L.mapbox.accessToken = 'my token';
var map = L.mapbox.map('map', 'my account').setView([32.361, -96.185], 6);
map.dragging.disable();
map.touchZoom.disable();
map.doubleClickZoom.disable();
map.scrollWheelZoom.disable();
map.keyboard.disable();
这是在文档正文的副本上编写的,并且工作正常。
在我的.js文件(淘汰赛)中,我有代码在用户输入地址后更新地图位置。这很好。
如果我添加一个基本的非自定义标记,那么它显示正常:
var leaflet = map.setView(L.latLng(features.center[1], features.center[0]), 16);
L.marker([features.center[1], features.center[0]]).addTo(leaflet);
完美,将标记显示在它应该的位置......但我需要不同的颜色和其他一些小的自定义。
根据他们的网站simplest implementation of adding a single marker:
map.setView(L.latLng(features.center[1], features.center[0]), 16);
L.mapbox.featureLayer({
// this feature is in the GeoJSON format: see geojson.org
// for the full specification
type: 'Feature',
geometry: {
type: 'Point',
// coordinates here are in longitude, latitude order because
// x, y is the standard for GeoJSON and many formats
coordinates: [
features.center[1], features.center[0]
]
},
properties: {
title: 'Peregrine Espresso',
description: '1718 14th St NW, Washington, DC',
// one can customize markers by adding simplestyle properties
// https://www.mapbox.com/guides/an-open-platform/#simplestyle
'marker-size': 'large',
'marker-color': '#BE9A6B',
'marker-symbol': 'cafe'
}
}).addTo(map);
setView()有效,但标记没有。没有显示标记(是的,我确定lat / lon是正确的,请注意L.marker()
方法使用相同的值,除非它们应该采用不同的方式...文档留下了一些东西()。
我已经尝试了昨天和今天早上之间我可以找到的这个geojson方法的其他每个例子,其中包括使用图层就绪事件,图层创建事件以及其他一些我不记得的方法现在。
谁能看到我做错了什么?
答案 0 :(得分:2)
检查您的GeoJSON坐标。订单必须是经度,纬度(与setView相反)
var map = L.mapbox.map('map', 'mapbox.streets')
.setView([40, -74.50], 9);
L.mapbox.featureLayer({
// this feature is in the GeoJSON format: see geojson.org
// for the full specification
type: 'Feature',
geometry: {
type: 'Point',
// coordinates here are in longitude, latitude order because
// x, y is the standard for GeoJSON and many formats
coordinates: [
-74.50, 40
]
},
properties: {
title: 'Peregrine Espresso',
description: '1718 14th St NW, Washington, DC',
// one can customize markers by adding simplestyle properties
// https://www.mapbox.com/guides/an-open-platform/#simplestyle
'marker-size': 'large',
'marker-color': '#BE9A6B',
'marker-symbol': 'cafe'
}
}).addTo(map);
查看此Example