私は ArcGIS を初めて使用します。
マップ上にいくつかのポイントとテキストを直接描画したい。
以下のようなもの。ただし、マップを表示するだけで何も描画しません。
誰でもこの問題を解決するのを手伝ってくれますか?
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>Draw point and text</title>
<link rel="stylesheet" type="text/css" href="http://serverapi.arcgisonline.com/jsapi/arcgis/3.1/js/dojo/dijit/themes/tundra/tundra.css">
<script type="text/javascript" src="http://serverapi.arcgisonline.com/jsapi/arcgis?v=3.1"></script>
<script type="text/javascript">
dojo.require("esri.map");
dojo.require("esri.layers.agsdynamic");
var map;
var layer;
var mapUrl;
var defaultSymbol;
function Init() 
{
    map = new esri.Map("mapDiv");
    mapUrl = "http://sampleserver1.arcgisonline.com/ArcGIS/rest/services/Demographics/ESRI_Population_World/MapServer";
    //mapUrl = "http://sampleserver1.arcgisonline.com/ArcGIS/rest/services/Specialty/ESRI_StatesCitiesRivers_USA/MapServer";
    layer = new esri.layers.ArcGISDynamicMapServiceLayer(mapUrl);
    map.addLayer(layer);        
    defaultSymbol = new esri.symbol.SimpleMarkerSymbol(); // point
    defaultSymbol.setColor(new dojo.Color([255, 0, 0]));
    addPoint(10, 10);
    addText(10, 20, "Text");
}
function addPoint(x, y)
{
    var pt = new esri.geometry.Point(x, y, map.spatialReference);
    var graphic = new esri.Graphic(pt, defaultSymbol);
    map.graphics.add(graphic);
}
function addText(x, y, text) 
{
    var pt = new esri.geometry.Point(x, y, map.spatialReference);
    //Create font
    var font = new esri.symbol.Font();
    font.setSize(18);
    font.setWeight(esri.symbol.Font[WEIGHT_NORMAL]);
    //Create the TextSymbol
    var textSymbol = new esri.symbol.TextSymbol();
    textSymbol.setText(text);
    textSymbol.setColor(new dojo.Color([0, 255, 0]));
    textSymbol.setFont(font);
    textSymbol.setKerning(true);
    var graphic = new esri.Graphic(pt, textSymbol);
    map.graphics.add(graphic);
}
 dojo.addOnLoad(Init);
     </script>  
    </head>
   <body class="tundra">
   <div id="mapDiv" style="width:900px; height:600px; border:1px solid #000;"></div>
   </body>  
   </html>