Java Arcgis地图:图片标记符号
大家好,我正在尝试在我的arcgis地图中制作一个图像符号标记。。 然而,我在这方面面临一些问题。我去esri网站[]获取pin url 当我试图在代码中实现它时, 我收到一个错误 我就是这样把它组合起来的 从 到 但在实现了这些代码之后,我收到了错误。。有人遇到过同样的问题,并且能够解决它吗Java Arcgis地图:图片标记符号,java,android,arcgis,esri,Java,Android,Arcgis,Esri,大家好,我正在尝试在我的arcgis地图中制作一个图像符号标记。。 然而,我在这方面面临一些问题。我去esri网站[]获取pin url 当我试图在代码中实现它时, 我收到一个错误 我就是这样把它组合起来的 从 到 但在实现了这些代码之后,我收到了错误。。有人遇到过同样的问题,并且能够解决它吗 提前感谢您的问题是您正在将JSON用于PictureMarkerSymbol,并初始化SimpleMarkerSymbol,这将永远不会起作用。试着这样做 var resultSymbol=新esri.s
提前感谢您的问题是您正在将JSON用于PictureMarkerSymbol,并初始化SimpleMarkerSymbol,这将永远不会起作用。试着这样做
var resultSymbol=新esri.symbol.PictureMarkerSymbol
({“角度”:0,“xoffset”:0,“yoffset”:12,“类型”:“ESRIMS”,
“url”:”http://static.arcgis.com/images/Symbols/Basic/RedStickpin.png",
“内容类型”:“图像/png”,“宽度”:24,“高度”:24})代码>您的问题是,您正在将JSON用于PictureMarkerSymbol,并初始化一个永远不会工作的SimpleMarkerSymbol。试着这样做
var resultSymbol=新esri.symbol.PictureMarkerSymbol
({“角度”:0,“xoffset”:0,“yoffset”:12,“类型”:“ESRIMS”,
“url”:”http://static.arcgis.com/images/Symbols/Basic/RedStickpin.png",
“内容类型”:“图像/png”,“宽度”:24,“高度”:24})代码>您在Android的Java代码中使用了JavaScript对象表示法(JSON)语法。这行不通
@但是阿兹穆哈克走在了正确的道路上。您需要创建一个PictureMarkerSymbol
,而不是SimpleMarkerSymbol
。但是你需要用Android的方式,而不是JavaScript的方式
下面是一些示例代码,用于创建PictureMarkerSymbol
,创建GraphicsLayer
,将GraphicsLayer
添加到地图,以及将新图形添加到GraphicsLayer
(加载地图后运行此代码,可能使用MapView.setOnStatusChangedListener
):
旁注:在Android中,可以解析JSON字符串来生成PictureMarkerSymbol
。但在本例中,我的示例代码更简单,也不容易出错。您在Android Java代码中使用的是JavaScript对象表示法(JSON)语法。这行不通
@但是阿兹穆哈克走在了正确的道路上。您需要创建一个PictureMarkerSymbol
,而不是SimpleMarkerSymbol
。但是你需要用Android的方式,而不是JavaScript的方式
下面是一些示例代码,用于创建PictureMarkerSymbol
,创建GraphicsLayer
,将GraphicsLayer
添加到地图,以及将新图形添加到GraphicsLayer
(加载地图后运行此代码,可能使用MapView.setOnStatusChangedListener
):
旁注:在Android中,可以解析JSON字符串来生成PictureMarkerSymbol
。但在这种情况下,我的示例代码更简单,更不容易出错。您的代码在哪里?您实际使用LocationService的地方在哪里?查看API文档,.start()
刚刚启动服务。您需要调用.setSymbol()
来告诉服务如何绘制您的红点吗?由于类型为ESRIMS,请尝试将符号定义为pictureMarkerSymbol。您的代码在哪里?您实际使用LocationService的位置在哪里?查看API文档,.start()
刚刚启动服务。您需要调用.setSymbol()
来告诉服务如何绘制红点吗?由于类型为ESRIMS,请尝试将符号定义为PictureMarkerSymbol。我确实尝试了您的代码,但它不起作用。我仍然不知道问题是怎么回事创建GraphicsLayer并在调用addGraphic之前将其添加到地图中,而不是在调用addGraphic之后。@GaryS。如何设置PictureMarkerSymbol的宽度和高度?@20美分:问得好。我想您可能会希望使用构造函数,该构造函数采用可绘制内容而不是URL字符串,并缩放可绘制内容,如中所示。我确实尝试了您的代码,但它不起作用。我仍然不知道问题是怎么回事创建GraphicsLayer并在调用addGraphic之前将其添加到地图中,而不是在调用addGraphic之后。@GaryS。如何设置PictureMarkerSymbol的宽度和高度?@20美分:问得好。我怀疑您会希望使用构造函数,该构造函数采用可绘制而不是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});`
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));