1

大家好,我正在尝试在我的 arcgis 地图中制作 PictureSymbolMarker。但是我在其中遇到了一些问题。我去了 esri 网站 [ http://blogs.esri.com/esri/arcgis/2012/02/03/esri-picture-marker-symbol-generator-for-javascript-developers/ ] 获取 pin url。

当我尝试在我的代码中实现它时,我收到了错误。

这就是我把它放在一起的方式

`//Marker
SimpleMarkerSymbol resultSymbol = new SimpleMarkerSymbol(Color.RED,
                20, SimpleMarkerSymbol.STYLE.CIRCLE);`

  `SimpleMarkerSymbol resultSymbol = new SimpleMarkerSymbol
 ({"angle":0,"xoffset":0,"yoffset":12,"type":"esriPMS",
 "url":"http://static.arcgis.com/images/Symbols/Basic/RedStickpin.png",
  "contentType":"image/png","width":24,"height":24});`

但是在实施该代码之后,我收到了错误。.. 任何人都面临同样的问题,并能够解决它?

提前致谢

4

2 回答 2

1

您的问题是您使用 JSON 作为 PictureMarkerSymbol 并初始化一个永远不会工作的 SimpleMarkerSymbol。尝试这样做。

var resultSymbol = new esri.symbol.PictureMarkerSymbol ({"angle":0,"xoffset":0,"yoffset":12,"type":"esriPMS", "url":"http://static.arcgis.com/images/Symbols/Basic/RedStickpin.png", "contentType":"image/png","width":24,"height":24});

于 2013-11-13T10:11:45.877 回答
0

您在 Android 的 Java 代码中使用 JavaScript 对象表示法 (JSON) 语法。它行不通。

@azmuhak 不过是在正确的轨道上。您需要创建 aPictureMarkerSymbol而不是SimpleMarkerSymbol. 但是你需要用 Android 的方式来做,而不是 JavaScript 的方式。

下面是一些示例代码,用于创建 a PictureMarkerSymbol、创建 a GraphicsLayer、添加GraphicsLayer到地图以及添加新 Graphic GraphicsLayer(在加载地图后运行此代码,可能使用MapView.setOnStatusChangedListener):

PictureMarkerSymbol pms = new PictureMarkerSymbol(
    "http://static.arcgis.com/images/Symbols/Basic/RedStickpin.png");
pms.setAngle(0f);
pms.setOffsetX(0f);
pms.setOffsetY(12f);
GraphicsLayer graphicsLayer = new GraphicsLayer();
mMapView.addLayer(graphicsLayer);
graphicsLayer.addGraphic(new Graphic(new Point(12, 34), pms));

旁注:在 Android 中可以解析 JSON 字符串以生成PictureMarkerSymbol. 但在这种情况下,我的示例代码更简单,更不容易出错。

于 2013-11-13T20:14:31.467 回答