我试图使用ESRI的ArgGis的JavaScript API,这是由加载道场,使用dojo.require.我有一个现有的模块化AMD/requirejs Typescript应用程序,我需要将此代码集成到其中.在我的初始TS文件的顶部,我导入了几个模块:
import tracer = module('../classes/trace');
import pubsub = module('../classes/pubsub');
import masker = module('../classes/masker');
// etc.
Run Code Online (Sandbox Code Playgroud)
这工作正常,但是现在我已经添加了ArcGis代码,而不是解析我的应用程序中的相对路径,require.js从Esri站点获取了一个baseUrl,并尝试加载:
http://serverapi.arcgisonline.com/jsapi/arcgis/3.3/js/esri/classes/trace.js
// etc.
Run Code Online (Sandbox Code Playgroud)
导致404响应和脚本错误的字符串.
我怎样才能解决这个问题?
在加载加载模块的第一个文档之前,我已经尝试在我的html文件的头部设置requirejs baseUrl:
<script src="http://serverapi.arcgisonline.com/jsapi/arcgis/3.3"></script>
<script type="text/javascript" src="/content/client/libs/require.js"></script> <!-- data-main="/content/client/hop/hop.app" -->
<script type="text/ecmascript">
require.config({
baseUrl: "/Content/client/hop/"
});
</script>
<script src="~/Content/client/hop/hop.app.js"></script>
Run Code Online (Sandbox Code Playgroud)
但这失败了,抛出一个需要没有方法配置的异常.
(注意如果我颠倒了html文档头部的顺序,以便arcgis api在加载序列中排在最后,那么我遇到了相反的问题 - 我的本地文件都工作正常,但是dojo和映射api失败,因为他们正在寻找他们应该在argis服务器上搜索相对于我的网站的路径).
我尝试在 R 版本 3.5.0 中安装“arcgisbinding”包。但我失败了,收到以下错误和警告。
\n\n\n\n\n将软件包安装到 \xe2\x80\x98C:/Users/Lenovo/Documents/R/win-library/3.5\xe2\x80\x99\n (因为 \xe2\x80\x98lib\xe2\x80\x99 未指定)\ n install.packages 中的警告:\n 程序包 \xe2\x80\x98\xe2\x80\x98arcgisbinding\xe2\x80\x99 不可用(对于 R 版本 3.5.0)
\n
我也尝试在 R 版本 3.4.3 中安装这个包,得到相同的错误和警告。我认为主要原因是 \xe2\x80\x98lib\xe2\x80\x99 未指定。
\n\n我很困惑,因为根据官方网站的介绍 - PDF可以在 R >= 3.2 上安装“arcgisbinding”包。
\n\n有人可以帮助我吗?非常感谢。
\n如何将IFeatureClass对象序列化为XML?
在其他ArcObjects上使用IXMLSerializer有一些资源,但这对IFeatureClass不起作用,因为它没有实现ISerializable.
我想为Android和Web服务开发Arcgis,但我不知道它有API吗?如果有的话,可以在地图上标记(比如谷歌地图API)我在我的服务器上收集了lat和long吗?
谢谢你:))
我想调查一下ArcGis,我无法绕过它适合的地方.
我使用Google Maps API创建了一些包含制作者,叠加层,听众等的简单地图.
我最近开始关注PostGIS,我完全理解,它增强了Postgres的附加数据类型和功能,用于绘制多边形和映射区域.大!
我不明白ArcGIS适合的地方?
它有什么作用?你为什么要用呢
我有一个大的地址数据库.
我是ESRI的JavaSCript API的新手,它的易用性和速度给我留下了深刻的印象.作为交互式数据门户的一部分,我让用户输入经度和经度作为十进制度作为空间查询的一部分来返回州,县和FIP.这部分工作得很好,但作为一个附加功能,我想在现有地图上绘制一个点图形,显示输入的坐标位置(DONE),然后以一定的合理比例将中心和缩放到所述点.
centerAndZoom方法是这里的逻辑选择,但它似乎不起作用.我的感觉是地图需要刷新,但我似乎无法想出这个.
我敢肯定我在这里缺少一些基本的东西; 在此先感谢您的时间!
function DrawPointAndZoom() {
// Get currently entered lat/long.
var lat = $('#SiteLatitude').attr('value');
var long = $('#SiteLongitude').attr('value');
var latLongPoint = new esri.geometry.Point(long, lat, new esri.SpatialReference({ wkid: 4326 }));
//Draw point
var symbol = new esri.symbol.SimpleMarkerSymbol().setSize(8).setColor(new dojo.Color([255, 0, 0]));
var graphic = new esri.Graphic(latLongPoint, symbol);
var infoTemplate1 = new esri.InfoTemplate();
infoTemplate1.setTitle("point1");
infoTemplate1.setContent("test point 1");
graphic.setInfoTemplate(infoTemplate1);
map.graphics.add(graphic);
map.centerAndZoom(latLongPoint, 15);
}
Run Code Online (Sandbox Code Playgroud) 我想使用 Excel VBA 在 python 中编辑脚本文件,然后在 ArcGis 中运行。首先,我愿意接受任何更简单的方法,但到目前为止,我在使用 VBA 子程序制作多行脚本时遇到了麻烦!
& vbCrLf &在命令中不起作用Fileout.Write。当我打开脚本文件时,所有内容都在同一行。
两者都不起作用& Char(34) &。
Private Sub CommandButton4_Click()
Dim fso As Object
Set fso = CreateObject("Scripting.FileSystemObject")
Dim path As String
path = Application.ActiveWorkbook.path
Dim Fileout As Object
Set Fileout = fso.CreateTextFile(path & "\" & "test2.py", True, True)
Fileout.Write "import arcpy & vbCrLf & lyr = arcpy.mapping.Layer( & Char(34) & limits & Char(34) &) & vbCrLf & lyr.visible = True & vbCrLf & arcpy.RefreshActiveView()'"
Fileout.Close …Run Code Online (Sandbox Code Playgroud) 我目前正在寻找一种在项目中使用模块加载器RequireJS和ArcGIS JS API的方法。根据文档,可以加载ArcGIS JS API的模块,如以下代码片段所示:
require(["esri/config", "esri/Map", "esri/views/MapView"], function (
esriConfig,
Map,
MapView
) {
//...
});
Run Code Online (Sandbox Code Playgroud)
问题是,如果我想从ArcGIS JS API加载模块,它实际上调用了RequireJS的Require函数:
但它应该加载 ArcGIS JS API 中定义的 require 函数:
RequireJS 找不到 ArcGIS JS API 的模块,因此在控制台中抛出错误:
我的项目只支持ES5。因此,我无法使用像esri-loader这样的节点库。
我正在编写一个脚本以允许用户输入坐标以更新点的位置。
rows = arcpy.UpdateCursor("C:\Users\Hannah\Desktop\Marcellus Shale data\GDB and Maps\Marcellus.gdb\Marcellus_Wells\Update_Cursor")
for row in rows:
row.Latitude = float(raw_input('Latitude: '))
rows.updateRow(row)
del row
del rows
rows = arcpy.UpdateCursor("C:\Users\Hannah\Desktop\Marcellus Shale data\GDB and Maps\Marcellus.gdb\Marcellus_Wells\Update_Cursor")
for row in rows:
row.Longitude = float(raw_input('Longitude: '))
rows.updateRow(row)
del row
del rows
inFeatures = ["C:\Users\Hannah\Desktop\Marcellus Shale data\GDB and Maps\Marcellus.gdb\Marcellus_Wells\Update_Cursor"]
outLocation = "C:\Users\Hannah\Desktop\Marcellus Shale data\GDB and Maps\Database Script\Shapefiles"
arcpy.FeatureClassToShapefile_conversion(inFeatures, outLocation)
Run Code Online (Sandbox Code Playgroud)
脚本“有效”;也就是说,我在最后创建的 shapefile 在旧坐标的位置包含新坐标。但是,当我将新的 shapefile 拖入 ArcMap 屏幕时,该点会转到旧坐标的位置,即使属性表正在显示新坐标。
有什么想法吗?谢谢!
基本上,我正在寻找的是,我想学习 Arcgis javascript api。我的电脑上安装了 Arcgis Desktop 10.3 试用版。我听说 javascript 只能在基于 Arcgis Server 的 Web 应用程序中运行。那么有没有可能在 Arcgis Desktop 中运行这个 javascript 代码?如果没有,请向我建议有关如何获得 Arcgis 服务器试用版以练习 javascript api 的想法。
谢谢你。
arcgis ×10
javascript ×3
esri ×2
gis ×2
python ×2
requirejs ×2
amd ×1
android ×1
arcobjects ×1
arcpy ×1
excel ×1
jquery ×1
r ×1
typescript ×1
vba ×1
web-services ×1