2016-08-11 5 views
1

Ich habe eine Svg hochgeladen und kann es in der Mapbox Studio Karte anzeigen und kann die Tileset mit Stock Icons mit mapbox gl anzeigen. Wenn ich jedoch versuche, mein Symbol zu verwenden, werden die Punkte nicht gezeichnet. Der Hintergrund zeichnet immer noch und im Falle des folgenden Codes sind die Punkte, die cafe-15 verwenden, eingezeichnet.Icon sichtbar in Mapbox Studio nicht über Mapbox gl

'icon-image': 'cafe-15', // stock symbol shows 
 
'icon-image': 'boxy-hourglass', // my uploaded symbol - does not show

Hier ist mein Code:

<!DOCTYPE html> 
 
<html> 
 
<head> 
 
    <meta charset='utf-8' /> 
 
    <title></title> 
 
    <meta name='viewport' content='initial-scale=1,maximum-scale=1,user-scalable=no' /> 
 
    <script src='https://api.tiles.mapbox.com/mapbox-gl-js/v0.21.0/mapbox-gl.js'></script> 
 
    <link href='https://api.tiles.mapbox.com/mapbox-gl-js/v0.21.0/mapbox-gl.css' rel='stylesheet' /> 
 
    <style> 
 
     body { margin:30px; padding:0; } 
 
     #map { position:absolute; top:50px; bottom:50px; width:22%; height:42% } 
 
    </style> 
 
</head> 
 
<body> 
 

 
<div id='map'></div> 
 
<script> 
 

 
mapboxgl.accessToken = '{token}'; 
 

 
var map = new mapboxgl.Map({ 
 
    container: 'map', 
 
    style: 'mapbox://styles/mapbox/streets-v9', 
 
    center: [-73.9517, 40.8001], 
 
    zoom: 17 
 
}); 
 

 
map.on('load', function() { 
 
    map.addSource('toxsites', { 
 
     type: 'vector', 
 
     url: 'mapbox://djorgensen.5cvtu32g' 
 
    }); 
 
    map.addLayer({ 
 
     'id': 'spills', 
 
     'type': 'symbol', 
 
     'source': 'toxsites', 
 
     'source-layer': 'Toxicsites160622', 
 
     'filter': ['all', ['==', 'MAP_GROUP', 'SPILLS']], 
 
     'layout': { 
 
      'visibility': 'visible', 
 
      'icon-allow-overlap': true, 
 
      'icon-image': 'cafe-15', // stock symbol shows 
 
      'icon-size': 1 
 
     } 
 
    });  
 
    map.addLayer({ 
 
     'id': 'pbs', 
 
     'type': 'symbol', 
 
     'source': 'toxsites', 
 
     'source-layer': 'Toxicsites160622', 
 
     'filter': ['all', ['==', 'MAP_GROUP', 'PBS']], 
 
     'layout': { 
 
      'visibility': 'visible', 
 
      'icon-allow-overlap': true, 
 
      'icon-image': 'boxy-hourglass', // my uploaded symbol - does not show 
 
      'icon-size': 1 
 
     } 
 
    }); 
 
}); 
 
</script> 
 

 
</body> 
 
</html>

Antwort

1

Benutzerdefinierte Symbole mit bestimmten Arten in MapBox Studio verbunden sind, so dass Sie Ihren Stil sparen müssten mit das hochgeladene benutzerdefinierte boxy-hourglass-Symbol, und aktualisieren Sie dann die s tyle URL:

var map = new mapboxgl.Map({ 
    container: 'map', 
    style: yourNewStyleURLHere, 
    center: [-73.9517, 40.8001], 
    zoom: 17 
}); 

enter image description here

enter image description here

  • Haftungsausschluss - ich MapBox arbeiten