我有一堆坐标为UTM格式的文件.对于每个坐标,我有东,北和区.我需要将其转换为LatLng,以便与Google Map API一起使用,以便在地图中显示信息.
我找到了一些这样做的在线计算器,但没有实际的代码或库.http://trac.osgeo.org/proj4js/是Javascript的投影库,但是看一下它不包括UTM投影的演示.
我对整个GIS领域仍然很新鲜,所以我想要的是ala:
(lat,lng) = transform(easting, northing, zone)
Run Code Online (Sandbox Code Playgroud) 我正在使用ArcGIS JSAPI 4.12,并希望使用空间幻觉在地图上绘制军事符号。
当我添加milsymbol.js到脚本时,控制台返回错误Uncaught SyntaxError: Cannot use import statement outside a module,因此我添加type="module"到脚本时,它返回Uncaught ReferenceError: ms is not defined。
这是我的代码:
<link rel="stylesheet" href="https://js.arcgis.com/4.12/esri/css/main.css">
<script src="https://js.arcgis.com/4.12/"></script>
<script type="module" src="milsymbol-2.0.0/src/milsymbol.js"></script>
<script>
require([
"esri/Map",
"esri/views/MapView",
"esri/layers/MapImageLayer",
"esri/layers/FeatureLayer"
], function (Map, MapView, MapImageLayer, FeatureLayer) {
var symbol = new ms.Symbol("SFG-UCI----D", { size: 30 }).asCanvas(3);
var map = new Map({
basemap: "topo-vector"
});
var view = new MapView({
container: "viewDiv",
map: map,
center: [121, 23],
zoom: 7 …Run Code Online (Sandbox Code Playgroud) 如果我有一系列经度和纬度点,我如何计算所有这些点的中心?
我正在尝试添加一些功能,这些功能将根据查询返回的点缩放地图.例如,假设我们放大了德克萨斯州.如果我执行查询并且服务返回德克萨斯州的一些点和一些位于加利福尼亚州的点,我希望地图然后缩小然后显示加利福尼亚州和德克萨斯州.我一直在浏览ArcGIS JS API以了解如何实现它,但我无法确定用于实现此目的的属性和/或方法.
我正在尝试在Angular应用程序中使用ArcGIS JavaScript API.我看,它使用Dojo.所以,我试图从Angular指令初始化ArcGIS,如下所示:
link: function (scope, element, attrs) {
dojo.require('esri.map');
var init = function () {
console.log('dojo is ready');
var map = new esri.Map("map-container", {
center: [-111.3797, 56.7266 ],
zoom: 16,
basemap: "streets"
});
map.enableScrollWheelZoom()
};
dojo.addOnLoad(init);
}
Run Code Online (Sandbox Code Playgroud)
看起来这种方式不是100%正确,因为当我尝试通过滚动鼠标滚轮进行缩放时,我收到此错误:
Uncaught TypeError: Cannot call method 'apply' of null
Run Code Online (Sandbox Code Playgroud)
我的问题是,如何在Angular应用程序中正确地注入ArcGIS功能?
一旦样式表已经加载,有没有办法消除所有CSS规则?
我必须使用构建在Dojo之上的专有JavaScript库(ESRI的ArcGIS Server API).我广泛使用Dojo的小部件,并想使用Dojo的claro主题但不幸的是ESRI库通过加载异地CSS文件(以及可能在JS中硬编码的CSS规则)来增加CSS.这最终破坏了Claro主题.
如此多的Dojo小部件CSS类被重写并创建新规则,只是消除所有CSS并重新加载标准Dojo样式表似乎更容易/更安全.
像下面这样的东西会很好:
* {none}
Run Code Online (Sandbox Code Playgroud)
但我认为我必须最终使用Dojo或jQuery来实现这一目标.
我正在使用ArcGIS 3.5 Javascript API和RequireJS
我使用这段代码实现了它:
<script>
var map;
require(["esri/map", "dojo/domReady!"], function(Map) {
map = new Map("mapDiv", {
center: [-96.571541, 39.155622],
zoom: 3,
basemap: "streets"
});
});
});
</script>
Run Code Online (Sandbox Code Playgroud)
使用此RequireJS配置:
requirejs.config({
baseUrl: "js/",
paths: {
underscore: 'libs/underscore',
tpl: 'tpl',
backbone: 'libs/backbone',
text: 'libs/text',
domReady: 'libs/domReady'
},
packages: [
{
name: 'dojo',
location: "http://serverapi.arcgisonline.com/jsapi/arcgis/3.5compact/js/dojo/dojo/"
},
{
name: 'dojox',
location: "http://serverapi.arcgisonline.com/jsapi/arcgis/3.5compact/js/dojo/dojox"
},
{
name: 'dijit',
location: "http://serverapi.arcgisonline.com/jsapi/arcgis/3.5compact/js/dojo/dijit"
},
{
name: 'esri',
location: "http://serverapi.arcgisonline.com/jsapi/arcgis/3.5compact/js/esri"
}
],
shim: {
'backbone': {
//These script dependencies should …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用Esri地图.要在我的项目中包含地图,我发现这是:
require([
"esri/map",
"esri/dijit/Search",
"esri/dijit/LocateButton",
"esri/geometry/Point",
"esri/symbols/SimpleFillSymbol",
"esri/symbols/SimpleMarkerSymbol",
"esri/symbols/SimpleLineSymbol",
Run Code Online (Sandbox Code Playgroud)
但是没有任何esri文件夹或npm包.因此,我在这里很困惑.如何在项目中导入esri?
我试图从以下JSON加载操作层数据,没有运气.
到目前为止,我尝试了以下内容
graphicLayer = new esri.layers.GraphicsLayer(); graphicLayer.add(json); map.add(graphicLayer);normalizeUtils.normalizeCentralMeridian有什么我缺少的,作为参考我试图遵循这个例子http://resources.arcgis.com/en/help/arcgis-web-map-json/index.html#/ArcGIS_feature_service_operational_layers/02qt00000017000000/
这是我第一次使用Arcgis,我在地图上有一个先前绘制的线的样本JSON,我试图加载而没有运气.这是我正在尝试的JSFiddle.
https://jsfiddle.net/42wehk86/3/
真的很感激,如果有人能够对此有所了解.
我想使用vue3和esri-loader制作一个地图网站。
使用 vue-composition-api 时,我将 esri-loader 生成的 Map 和 MapView 对象放入响应式并导出它们。但是在读取MapView的属性时发生了以下情况,让我不知所措。
代理上的“get”:属性 __accessor__ 是代理目标上的只读且不可配置的数据属性,但代理未返回其实际值
arcgis-js-api ×10
javascript ×7
arcgis ×5
dojo ×3
esri ×2
gis ×2
amd ×1
angularjs ×1
css ×1
ecmascript-6 ×1
esri-loader ×1
geometry ×1
jquery ×1
node.js ×1
point ×1
proj4js ×1
python ×1
reactjs ×1
requirejs ×1
vuejs3 ×1