0

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

谁能给我看一些代码/点我一篇关于使用 Javascript 在地图中突出显示特定区域(城市)的文章

4

1 回答 1

1

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

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

如果您已经在 ArcGIS 服务中拥有城市位置,则只需为其创建一个动态图层并将其添加到您的地图中。以下是网站样本部分的示例:

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 参考上的图形以获取更多信息。

于 2013-08-29T09:39:06.037 回答