标签: arcgis-js-api

如何触发Graphic的点击事件?

我使用的是 Esri Javascript API 4.5

当地图加载时,我从外部源获取点坐标,然后使用Graphic类将其绘制在地图上并PopupTemplate为该图形分配一个。

案子

图形已成功绘制在地图上。但是为了查看弹出模板,我需要单击图形。

问题

有没有办法在将图形添加到地图时触发图形的单击事件,以便自动显示弹出模板?

编码

require([    
"esri/PopupTemplate",     
"esri/Graphic",
.
.
.
.
"dojo/domReady!"
],
function (
    PopupTemplate, Graphic, ....) {

var point = {
    type: "point",
    x: <some x>,
    y: <some y>
 };    

var symbol = {
   type: "picture-marker",
   url: "/euf/assets/nl/images/red-pin.png",
   width: "30px",
   height: "30px"
};

var template = new PopupTemplate({
    title: "New Title",
    content: "New Content"
});

var graphic = new Graphic({
    geometry: point,
    symbol: symbol,
    popupTemplate: template
}); …
Run Code Online (Sandbox Code Playgroud)

javascript esri arcgis arcgis-js-api

3
推荐指数
1
解决办法
2098
查看次数

使用 ArcGIS API for JavaScript 以 3D 形式堆叠拉伸多边形

我有多边形几何图形,并使用 a 以 3D 形式将它们可视化ExtrudeSymbol3DLayer,如 SDK文档示例中所述:

var symbol = {
  type: "polygon-3d",  // autocasts as new PolygonSymbol3D()
  symbolLayers: [{
    type: "extrude",  // autocasts as new ExtrudeSymbol3DLayer()
    size: 5,  // 5 meters in height
    material: { color: "red" }
  }]
};
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

有什么办法可以将这些 3D 挤压件堆叠在一起吗?例如,如果我有纽约市的几何图形,我想用一种颜色从底部拉伸到大约 5m,用一种颜色拉伸 5m 到 10m,等等。有点像制作堆积条形图,但是以更多地理方式。任何意见将不胜感激!

gis arcgis qgis arcgis-js-api

3
推荐指数
1
解决办法
809
查看次数

如何使用ArcGIS JavaScript API直接绘制点和文本

我是ArcGIS的新手.

我想直接在地图上画一些点和一些文字.

类似下面的东西.但它只是显示地图而没有画任何东西.

有人可以帮我解决这个问题吗?

<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>Draw point and text</title>
<link rel="stylesheet" type="text/css" href="http://serverapi.arcgisonline.com/jsapi/arcgis/3.1/js/dojo/dijit/themes/tundra/tundra.css">
<script type="text/javascript" src="http://serverapi.arcgisonline.com/jsapi/arcgis?v=3.1"></script>
<script type="text/javascript">
dojo.require("esri.map");
dojo.require("esri.layers.agsdynamic");
var map;
var layer;
var mapUrl;
var defaultSymbol;
function Init() 
{
    map = new esri.Map("mapDiv");
    mapUrl = "http://sampleserver1.arcgisonline.com/ArcGIS/rest/services/Demographics/ESRI_Population_World/MapServer";
    //mapUrl = "http://sampleserver1.arcgisonline.com/ArcGIS/rest/services/Specialty/ESRI_StatesCitiesRivers_USA/MapServer";
    layer = new esri.layers.ArcGISDynamicMapServiceLayer(mapUrl);
    map.addLayer(layer);        
    defaultSymbol = new esri.symbol.SimpleMarkerSymbol(); // point
    defaultSymbol.setColor(new dojo.Color([255, 0, 0]));

    addPoint(10, 10);
    addText(10, 20, "Text");
}
function addPoint(x, y)
{
    var pt = new esri.geometry.Point(x, y, map.spatialReference); …
Run Code Online (Sandbox Code Playgroud)

javascript esri arcgis arcgis-js-api

2
推荐指数
1
解决办法
9266
查看次数

ArcGIS Javascript - 如何刷新静态地图?

我有一个页面在第一次加载页面时使用ArcGIS Javascript,页面上的地图加载就好了.我有一个下拉框,控制在地图上显示的内容和附加到该下拉框的ajax事件处理程序,当在该下拉框功能中选择了其他选项时

function ajaxOnComplete() {  } 
Run Code Online (Sandbox Code Playgroud)

被叫.我在该函数中如何要求ArcGIS Javascript重新加载其静态地图?

javascript esri arcgis arcgis-js-api

2
推荐指数
1
解决办法
4105
查看次数

将R data.frame转换为Javascript数组

我想将我的数据框的一些列保存为特定的格式(JavaScript格式).我试图从rjson包中使用toJSON(),但这样做不起作用.

我的结果应该是这样的:http://leaflet.github.io/Leaflet.markercluster/example/realworld.388.js

请帮助,并提前感谢.

javascript gis r arcgis-js-api

2
推荐指数
1
解决办法
1493
查看次数

ArcGis 4.0 Javascript API events when pop up shows

I am using the ArcGIS JavaScript API 4.0 in order to display manholes for a given area. I am using our GIS Service to generate a feature layer. However, all the associated photos for that manhole has to be queried independently. My thought was to find an event handler for when the pop up opens and then somehow query the database for those photos and dynamically place the links in the popup template object. Here are the problems:

  1. There isn't …

javascript event-handling angularjs arcgis-js-api

2
推荐指数
1
解决办法
707
查看次数

错误"无法对类型缺少调用或构造签名的表达式使用'new'." 导入Esri类型时

我觉得这里有一些非常简单的东西.我已经得到了我建立了一个使用ESRI的ArcGIS的API的一类,但是当我导入从类型定义arcgis-js-apid.ts文件,我得到的打字稿错误"无法使用'新’与它的类型没有一个电话或一封表达构建签名."

例如:

import * as IMap from 'esri/Map';

export class Foo {
    bar: (Map: IMap) {
        const map = new Map(); // <-- error here
    }
}
Run Code Online (Sandbox Code Playgroud)

d.ts文件中的相关摘录:

declare namespace __esri {
    /* snip */
    interface Map extends Accessor, LayersMixin {
        allLayers: Collection;
        basemap: Basemap;
        ground: Ground;
    }

    interface MapConstructor {
        new(properties?: MapProperties): Map;
    }

    export const Map: MapConstructor;
    /* snip */
}

declare module "esri/Map" {
    import Map = __esri.Map;
    export = Map;
} …
Run Code Online (Sandbox Code Playgroud)

typescript arcgis-js-api esri-maps

2
推荐指数
1
解决办法
2263
查看次数

ArcGIS JavaScript API(3.8)centerAndZoom似乎无法正常工作

我是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)

javascript jquery esri arcgis arcgis-js-api

1
推荐指数
1
解决办法
2953
查看次数

使用Java的ArcGis Api将经纬度转换为XY坐标

您好,我正在尝试使用ArcGis Api For Javascript将较长的经度值转换为X,Y

 var i = esri.geometry.lngLatToXY(3.13, 36.742)
 console.log(i); //returns Array [ 348541.32567373366, 4403205.668961807 ]
Run Code Online (Sandbox Code Playgroud)

转换在什么系统上进行?有没有指定投影系统的方法?

注意:转换是从十进制度到米

我遵循了这个:https : //developers.arcgis.com/javascript/3/jsapi/esri.geometry.webmercatorutils-amd.html

javascript gis arcgis-js-api

1
推荐指数
1
解决办法
1623
查看次数

多个 require 函数的问题(RequireJS 和 ArcGIS JS API)

我目前正在寻找一种在项目中使用模块加载器RequireJSArcGIS 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这样的节点库。

javascript arcgis requirejs arcgis-js-api

1
推荐指数
1
解决办法
295
查看次数

是否将ArcGIS Map Service纳入MapBox GL API?

有人可以提供代码示例以将ArcGIS Map Service消费到MapBox GL API中吗?谢谢!

arcgis-server mapbox arcgis-js-api mapbox-gl mapbox-gl-js

0
推荐指数
1
解决办法
1191
查看次数

我可以在 Arcgis Desktop 中运行 arcgis javascript 代码吗

基本上,我正在寻找的是,我想学习 Arcgis javascript api。我的电脑上安装了 Arcgis Desktop 10.3 试用版。我听说 javascript 只能在基于 Arcgis Server 的 Web 应用程序中运行。那么有没有可能在 Arcgis Desktop 中运行这个 javascript 代码?如果没有,请向我建议有关如何获得 Arcgis 服务器试用版以练习 javascript api 的想法。

谢谢你。

arcgis arcgis-server arcgis-js-api

0
推荐指数
1
解决办法
228
查看次数

Next JS在arcgis地图上的多个坐标上显示信息窗口

下面是我的下一个 JS 代码,它显示了一个简单的 ArcGIS 地图,其中包含特定坐标上的点或标记。

谁能告诉我如何在地图上显示点的弹出/信息窗口?例如,我单击任意点,它将在其上打开相应的弹出窗口。

import NavBar from '@/components/NavBar'
import axios from 'axios';
import { useRef, useEffect, useState } from 'react';
import { loadModules } from 'esri-loader';

export default function Home({...props}) {
    const [state, setState] = useState('');
    const MapElement = useRef(null)
    const options = {
     url: 'https://js.arcgis.com/4.6/',
     css: true
    };

    useEffect(() => {
        var vehicleData = props.data
        var map, point_symbol;
        loadModules([
            "esri/views/MapView",
            "esri/WebMap",
            "esri/Graphic",          
            "esri/geometry/Point",
            "esri/PopupTemplate",
            "esri/layers/FeatureLayer","dojo/domReady!"
        ],options).then(([ MapView, WebMap, Graphic, Point, PopupTemplate, FeatureLayer]) => {
            const webmap = …
Run Code Online (Sandbox Code Playgroud)

arcgis reactjs arcgis-js-api next.js esri-maps

0
推荐指数
1
解决办法
713
查看次数