嗨,我是使用ESRI地图的新手。我有所有城市的纬度和经度存储在我的数据库中,现在基于纬度和经度值,我需要在地图中突出显示该地区。
有没有人可以给我看一些关于使用Javascript在地图中高亮显示特定区域(城市)的文章的代码( /point me
发布于 2013-08-29 17:39:06
Javascript API文档位于以下链接,所以如果您还没有,请查看它:
https://developers.arcgis.com/en/javascript/
如果您已经在ArcGIS服务中拥有城市位置,则只需为其创建一个动态图层并将其添加到地图中即可。下面是该网站示例部分中的一个示例来说明这一点:
https://developers.arcgis.com/en/javascript/jssamples/map_dynamic.html
如果您的城市位置不是来自ArcGIS服务,而是在经纬度的基本表中,那么您需要手动将它们作为图形添加到地图中。基本上,这样做的方法是使用您喜欢的方法从数据库中检索位置( web服务可能是最健壮的,或者当您使用ASP.Net / PHP等检索页面时,您可以将它们呈现为javascript数组),然后循环位置数组,为每个位置创建一个图形并添加到地图中。类似于:
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);
}
});
我还没有实际运行过,它很可能包含一两个bug,但希望是一个起点。查看Graphics on the Javascript API reference了解更多信息。
https://stackoverflow.com/questions/18505937
复制相似问题