2016-06-24 13 views
-2

マップ上にテキストを含むマーカーを配置する基本的なユーザーには、ArcGIS Javascrit SDKを使用しています。私はマーカーを追加することができますが、私はそのマーカー上にテキストを挿入することに問題があります。必要でArcGIS Javascriptレイヤにテキストを追加する

require([ 
    "esri/map", 
    "esri/dijit/BasemapToggle", 
    "esri/dijit/LocateButton", 
    "esri/geometry/Point", 
    "esri/symbols/SimpleMarkerSymbol", 
    "esri/symbols/SimpleLineSymbol", 
    "esri/symbols/Font", 
    "esri/symbols/TextSymbol", 
    "esri/Color", 
    "esri/graphic", 
    "esri/layers/GraphicsLayer", 
    "dojo/domReady!" 
], function(
    Map, BasemapToggle, LocateButton, Point, SimpleMarkerSymbol, Font, TextSymbol, SimpleLineSymbol, Color, Graphic, GraphicsLayer 
) { 
     map = new Map("map", { 
     center: [mapval[0][2],mapval[0][1]], 
     zoom: 18, 
     basemap: "streets" 
     }); 

     map.on("load", function() { 
      var gl = new GraphicsLayer(); 
      var font = new Font("20px", Font.STYLE_NORMAL, Font.VARIANT_NORMAL, Font.WEIGHT_BOLDER); 
      for (var i=0;i<mapval.length;i++){ 
        var p = new Point(mapval[i][2], mapval[i][1]); 
        var s = new SimpleMarkerSymbol(SimpleMarkerSymbol.STYLE_CIRCLE, 20, 
         new SimpleLineSymbol(SimpleLineSymbol.STYLE_SOLID, 
         new Color([255,0,0]), 1), 
         new Color([0,255,0,0.25])); 
        var g = new Graphic(p, s); 
        g.setAttributes({ 
         name: mapval[i][0] 
        }); 
        gl.add(g); 

        var t = new TextSymbol(mapval[i][0],font, new Color([0, 0, 0])); 
        var g2 = new Graphic(p, t); 
        gl.add(g2); 
      } 


      map.addLayer(gl);     
     }); 

    var toggle = new BasemapToggle({ 
    map: map, 
    visible: true, 
    basemap: "satellite" 
    }, "BasemapToggle"); 
    toggle.startup(); 

    var geoLocate = new LocateButton({ 
    map: map 
    }, "LocateButton"); 
    geoLocate.startup(); 

}); 
+0

mapvalが定義されていないため、このコードは実行されません。これを更新してmapvalを含めてJSFiddleやCodepenに投稿すれば、人々がテストして問題を見つけるのをより簡単にすることができます。 –

+0

良いキャッチ。 mapvalは多次元配列で、{[Title、Lat、Lng]}を含むコードの方が高く設定されていました。 – Nate23VT

答えて

0

SimpleLineSymbol間違った場所にあります。

は、ここに私のコードです。それが機能に合わせて修正されると、ラベルが表示されました。

関連する問題