Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/211.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Arcgis地图:图片标记符号_Java_Android_Arcgis_Esri - Fatal编程技术网

Java Arcgis地图:图片标记符号

Java Arcgis地图:图片标记符号,java,android,arcgis,esri,Java,Android,Arcgis,Esri,大家好,我正在尝试在我的arcgis地图中制作一个图像符号标记。。 然而,我在这方面面临一些问题。我去esri网站[]获取pin url 当我试图在代码中实现它时, 我收到一个错误 我就是这样把它组合起来的 从 到 但在实现了这些代码之后,我收到了错误。。有人遇到过同样的问题,并且能够解决它吗 提前感谢您的问题是您正在将JSON用于PictureMarkerSymbol,并初始化SimpleMarkerSymbol,这将永远不会起作用。试着这样做 var resultSymbol=新esri.s

大家好,我正在尝试在我的arcgis地图中制作一个图像符号标记。。 然而,我在这方面面临一些问题。我去esri网站[]获取pin url

当我试图在代码中实现它时, 我收到一个错误

我就是这样把它组合起来的

但在实现了这些代码之后,我收到了错误。。有人遇到过同样的问题,并且能够解决它吗


提前感谢

您的问题是您正在将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));