現在、MapBox からストア ロケーター テンプレートを変更する作業を行っています: https://github.com/mapbox/foursquare-store-locator https://www.mapbox.com/blog/foursquare-store-locator/
問題は、この変更されたフレームワークに折れ線/ポリラインを追加することです。
たとえば、次の形式を使用して、ラインストリング GeoJSON データを含む新しいマップ レイヤーを追加できません。
L.map('map').
leafllet.js で機能する折れ線を取得できます。
http://jsfiddle.net/xpancom/hUy5g/16/
...しかし、これは「L」を利用しています。変更された MapBox テンプレートでは機能しません。
L.geoJson(myLine1, {style: myStyle}).addTo(map);
問題は、MapBox の変更された店舗検索アプリが、この同じインターフェイスを実装していないように見えることです。
ラインストリングを持つレイヤーを追加しようとする現在のコードは次のとおりです。
foursquare.lines = function() {
var lines = { 'type': 'FeatureCollection',
'features': []
};
lines.features.push({
type: 'Feature',
// id: venue.id,
geometry: {
type: 'LineString',
coordinates: [[
60.317769,
24.929009
],
[
24.9292486208828,
60.1681323558666
],
[
24.951764345169067,
60.168932342858554
],
[
24.93321418762207,
60.16911913731421
],
[
24.952929,
60.167312
],
[
24.944114685058594,
60.170111798603266
],
[
24.94499444961548,
60.171435300334004
]]
},
properties: {}
}); //push
//console.log(lines);
if (MM_map.lineLayer) {
MM_map.lineLayer.geojson(lines);
alert("hi");
} else {
MM_map.lineLayer = mmg().geojson(lines);
//alert("hello");
console.log(lines);
}
MM_map.addLayer(MM_map.lineLayer);
}; //foursquare.lines
レイヤーは空の div として追加されますが、geojson と lines オブジェクトは処理されず、表示されません。
console.log(lines) を実行すると、すべての geojson データが正しく取得されますが、次の行を使用して追加されません。
mmg().geojson(lines)
これについて何か助けていただければ幸いです。ありがとう