如何在Esri GIS地图中突出显示或勾勒出一个区域(城市)

时间:2013-08-29 08:34:02

标签: gis arcgis esri arcgis-server arcmap

您好我是使用ESRI地图的新手。我拥有存储在我的数据库中的所有城市的纬度和经度现在根据纬度和经度值,我需要突出显示地图中的区域。

任何人都可以向我展示一些代码/指向我使用Javascript在地图中突出显示特定区域(城市)的文章

1 个答案:

答案 0 :(得分:1)

Javascript API文档位于以下链接,如果您还没有,请查看:

https://developers.arcgis.com/en/javascript/

如果您已在ArcGIS Service中拥有城市位置,则只需为其创建动态图层并将其添加到地图中即可。以下是网站示例部分的例子:

https://developers.arcgis.com/en/javascript/jssamples/map_dynamic.html

如果您的城市位置不是来自ArcGIS服务,而只是在拉片和长片的基本表格中,那么您需要将它们作为图形手动添加到地图中。基本上这样做的方法是使用您喜欢的方法从您的数据库中检索位置(Web服务可能是最强大的,或者如果您使用ASP,则可以在检索页面时将它们作为javascript数组呈现到页面中.Net / PHP等),然后循环遍历位置数组,为每个位置创建一个图形并添加到地图中。类似的东西:

require([  
"esri/geometry/Point", 
"esri/symbols/SimpleMarkerSymbol",  
"dojo/_base/Color", 
"esri/graphic", ... ], 
function(Point, SimpleMarkerSymbol, Color, Graphic) {  

// assuming cities is an array of city objects with lat and lon attributes
var cities = /*get your array of city locations*/

// Define a symbol to use
var citySymbol = new SimpleMarkerSymbol().setStyle(SimpleMarkerSymbol.STYLE_SQUARE).setColor(new Color([255,0,0,0.5]));

// Loop through each city   
for (n = 0; n < cities.length; n++) {

    // Create a point geometry
    var pt = new Point(cities[n].x,cities[n].y,map.spatialReference)

    // Create a graphic using the point and symbol
    var graphic = new Graphic(pt,citySymbol);

    // add the graphic to the map
    map.graphics.add(graphic);

} 

});

我实际上没有运行它所以可能包含一两个错误,但希望是一个起点。有关更多信息,请查看Javascript API参考中的Graphics。