0

現在、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)

これについて何か助けていただければ幸いです。ありがとう

4

1 に答える 1

1

foursquare ストア ロケーターの例は MapBox.js v0.6.7 に基づいていますが、v1.x 以降のコードを使用しようとしています。v0.6.7 ドキュメントを参照するか、別の出発点から開始する必要があります。これをお勧めします。たとえば、MapBox.js の例を参照してください。

于 2013-11-07T22:22:35.370 に答える