Arcgis Javascript API 学习(四)浅谈地图坐标定位

本文介绍了如何从数据库中读取坐标信息并在地图上进行符号定位的方法。主要包括从业务数据库读取坐标信息并显示为地图点的过程及从空间数据库获取坐标信息进行定位的技术细节。

当我们成功创建好一个地图的时候,需要在地图上定位一些符号。
这些坐标信息来自于数据库(业务数据库/空间数据库)

1:从业务数据库读取符号的坐标信息
先从后台连接业务数据库,读取对应表中的数据;
封装成json格式的数据,传回到前台js中;
然后在js中先定义一个图层,遍历这个json数据中的每一个点,并且把这些点都添加到这个图层中,最后再将这个图层添加到地图中。
示例代码:

/**
 * 显示地图点.
 * json的格式[{"name":"name1","x":"x1","y":"y1","img":"img1","content":"content1"}...]
 */
function displayPoints(json){
  var layer = esri.layers.GraphicsLayer({id:"layer"});
  $.each(json, function(index){
    var x = this.x;
    var y = this.y;
    var img = this.img;
    var pt = new esri.geometry.Point([x,y]);
    var pictureMarkerSymbol = new esri.symbol.PictureMarkerSymbol(img, 20, 20);
    var g = new esri.Graphic(pt, pictureMarkerSymbol);  
    var template = new esri.InfoTemplate();
    template.setTitle(this.name);
    template.setContent(this.content);
    g.setInfoTemplate(template);
    layer.add(g);
  });
  map.addLayer(layer);
}

2:从空间数据库获定位
主要用的是query

function query(){
  var queryTask = new esri.tasks.QueryTask(url);
  var query = new esri.tasks.Query();
  query.returnGeometry = true;
  query.outFields = ["*"];
  query.where = "";//这里添加查询条件
  queryTask.execute(query,callBack);
}
function callBack(result){
  var symbol = new esri.symbol.PictureMarkerSymbol(img, 20, 20);
  /*如果是面的话
  symbol = new   esri.symbol.SimpleFillSymbol(esri.symbol.SimpleFillSymbol.STYLE_SOLID, new esri.symbol.SimpleLineSymbol(esri.symbol.SimpleLineSymbol.STYLE_SOLID, new dojo.Color([0,0,255,0.35]), 1),new dojo.Color([125,125,125,0.35]));*/
  //遍历查询结果
  for (var i=0; i<result.features.length; i++){
    var g = result.features[i];
    g.setSymbol(symbol);
    
  }
}



转载于:https://my.oschina.net/chenhao901007/blog/207579

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值