arcgis js 根据坐标画轨迹

gaojiananlixia 2012-09-18 03:45:20

<body>
<form id="form1" runat="server">
<script type="text/javascript">
function GetCoord()
   {
   var AX=document.getElementById("TxtX").value;
   var AY=document.getElementById("TxtY").value;
   if(AX=='')
   {
   alert('缺少经度坐标!');
   return;
   }
   if(isNaN(AX))
   {
   alert('经度坐标必须为数字!');
   return;
   }
   if(AY=='')
   {
   alert('缺少纬度坐标!');
   return;
   }
   if(isNaN(AY))
   {
   alert('纬度坐标必须为数字!');
   return;
   }
   var message='X='+AX+'&Y='+AY;
   var context="MyMap";
   <%=m_LocateByXY%>  
   }
  
  function LinkLocate()
  {
  var taskId=document.getElementById("taskId").value;
  var taskLineId='taskId='+taskId;
  var context="MyMap";
   <%=m_TaskLine%>
  }
</script>
<div style="width: 100%">
<div>
<table>
<tr>
<td align="left">
任务ID:<asp:TextBox ID="taskId" runat="server"></asp:TextBox>
<input id="linkLocateBtn" type="button" value="线路定位" onclick="LinkLocate()" />
</td>
</tr>
<tr>
<td align="left">
X坐标:<asp:TextBox ID="TxtX" runat="server"></asp:TextBox>
Y坐标:<asp:TextBox ID="TxtY" runat="server"></asp:TextBox>
<input id="btnLocateBtn" type="button" value="单点定位" onclick="GetCoord()" />
</td>
</tr>
</table>
</div>
<div style="float: right;">
<esri:Toolbar ID="Toolbar1" runat="server" BuddyControlType="Map" Group="Toolbar1_Group"
Height="28px" ToolbarItemDefaultStyle-BackColor="Transparent" ToolbarItemDefaultStyle-Font-Names="Arial"
ToolbarItemDefaultStyle-Font-Size="Smaller" ToolbarItemDisabledStyle-BackColor="Transparent"
ToolbarItemDisabledStyle-Font-Names="Arial" ToolbarItemDisabledStyle-Font-Size="Smaller"
ToolbarItemDisabledStyle-ForeColor="Gray" ToolbarItemHoverStyle-BackColor="Transparent"
ToolbarItemHoverStyle-Font-Bold="True" ToolbarItemHoverStyle-Font-Italic="True"
ToolbarItemHoverStyle-Font-Names="Arial" ToolbarItemHoverStyle-Font-Size="Smaller"
ToolbarItemSelectedStyle-BackColor="Transparent" ToolbarItemSelectedStyle-Font-Bold="True"
ToolbarItemSelectedStyle-Font-Names="Arial" ToolbarItemSelectedStyle-Font-Size="Smaller"
WebResourceLocation="/aspnet_client/ESRI/WebADF/" Width="300px">
<ToolbarItems>
<esri:Tool ClientAction="DragRectangle" DefaultImage="esriZoomIn.png" HoverImage="esriZoomIn.png"
JavaScriptFile="" Name="MapZoomIn" SelectedImage="esriZoomIn.png" ServerActionAssembly="ESRI.ArcGIS.ADF.Web.UI.WebControls"
ServerActionClass="ESRI.ArcGIS.ADF.Web.UI.WebControls.Tools.MapZoomIn" Text=" "
ToolTip="放大" />
<esri:Tool ClientAction="DragRectangle" DefaultImage="esriZoomOut.png" HoverImage="esriZoomOut.png"
JavaScriptFile="" Name="MapZoomOut" SelectedImage="esriZoomOut.png" ServerActionAssembly="ESRI.ArcGIS.ADF.Web.UI.WebControls"
ServerActionClass="ESRI.ArcGIS.ADF.Web.UI.WebControls.Tools.MapZoomOut" Text=" "
ToolTip="缩小" />
<esri:Tool ClientAction="DragImage" DefaultImage="esriPan.png" HoverImage="esriPan.png"
JavaScriptFile="" Name="MapPan" SelectedImage="esriPan.png" ServerActionAssembly="ESRI.ArcGIS.ADF.Web.UI.WebControls"
ServerActionClass="ESRI.ArcGIS.ADF.Web.UI.WebControls.Tools.MapPan" Text=" "
ToolTip="漫游" />
<esri:Command ClientAction="" DefaultImage="esriZoomFullExtent.png" HoverImage="esriZoomFullExtent.png"
JavaScriptFile="" Name="MapFullExtent" SelectedImage="esriZoomFullExtent.png"
ServerActionAssembly="ESRI.ArcGIS.ADF.Web.UI.WebControls" ServerActionClass="ESRI.ArcGIS.ADF.Web.UI.WebControls.Tools.MapFullExtent"
Text=" " ToolTip="全部" />
<esri:Command BuddyItem="MapForward" ClientAction="ToolbarMapBack" DefaultImage="images/backward.png"
Disabled="True" DisabledImage="images/backward_disabled.png" HoverImage="images/backward.png"
JavaScriptFile="" Name="MapBack" SelectedImage="images/backward.png" Text=" "
ToolTip="前一视野" />
<esri:Command BuddyItem="MapBack" ClientAction="ToolbarMapForward" DefaultImage="images/forward.png"
Disabled="True" DisabledImage="images/forward_disabled.png" HoverImage="images/forward.png"
JavaScriptFile="" Name="MapForward" SelectedImage="images/forward.png" Text=" "
ToolTip="后一视野" />
</ToolbarItems>
<BuddyControls>
<esri:BuddyControl Name="MyMap" />
</BuddyControls>
</esri:Toolbar>
</div>
<div style="position: relative; top: 0px;">
<esri:Map ID="MyMap" runat="server" MapResourceManager="MapResourceManager1" Width="100%"
Height="472px">
</esri:Map>
<esri:MapResourceManager ID="MapResourceManager1" runat="server">
<ResourceItems>
<esri:MapResourceItem Definition="<Definition DataSourceDefinition="In Memory" DataSourceType="GraphicsLayer" Identity="" ResourceDefinition="" DataSourceShared="True" />"
DisplaySettings="visible=True:transparency=0:mime=True:imgFormat=PNG8:height=100:width=100:dpi=96:color=:transbg=False:displayInToc=True:dynamicTiling="
LayerDefinitions="" Name="graph" />
<esri:MapResourceItem Definition="<Definition DataSourceDefinition="localhost" DataSourceType="ArcGIS Server Local" Identity="To set, right-click project and 'Add ArcGIS Identity'" ResourceDefinition="Layers@HSGIS" DataSourceShared="True" />"
DisplaySettings="visible=True:transparency=0:mime=True:imgFormat=PNG32:height=100:width=100:dpi=96:color=-32513:transbg=True:displayInToc=True:dynamicTiling=True"
LayerDefinitions="" Name="MyLayers" />
</ResourceItems>
</esri:MapResourceManager>
</div>
<div style="position: absolute; top: 113px;">
<table>
<tr>
<td align="center">
<esri:Navigation ID="Navigation1" runat="server" Map="MyMap" DisplayImageUrl="images/directional_arrows_N.gif"
Height="52px" Width="52px" Size="44">
<DisplayCharacter FontName="ESRI North" CharacterIndex="58"></DisplayCharacter>
</esri:Navigation>
<esri:ZoomLevel ID="ZoomLevel1" runat="server" Map="MyMap" />
</td>
</tr>
</table>
</div>
</div>
</form>
<%-- 鼠标移动,显示坐标,一定要放在MainMap定义之后--%>

<script language="javascript" type="text/javascript">
Sys.Application.add_init(initialize);

function initialize() {
m_MainMap = $find('MyMap');
m_MainMap.add_mouseMove(MapCoordsMouseMove);
}

function MapCoordsMouseMove(sender, args) {
var coords = args.coordinate;
window.status = '经度X: ' +
coords.get_x().toFixed(6) + ', 纬度Y:' +
coords.get_y().toFixed(6);
}
</script>
</body>


全部代码,单点定位,轨迹点回放,视野切换全部实现,可就是轨迹画不出来,帮看下到底是哪边的问题
...全文
1726 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
maomaoyu5202008 2012-11-13
  • 打赏
  • 举报
回复
请问,怎么标记地图坐标啊。
wuuuuuuuuuu 2012-09-19
  • 打赏
  • 举报
回复
海绵宝宝,这个代码看着确实解决不了问题,我用的是JSP,也没法测试,要不你一点点测试代码,一处处alert,看这个画线的代码执行到哪步,是画了,还是画了又被清除掉了,另外我把我画线的函数给你贴出来,看对你有帮助没

function locatePathToMap(jsonObj){
//参数为json格式:{mapxy,id,onmouseover,onclick,width,opacity,type,color,flashcolor}
//type:solid,dash,dot,dashdot
//flashcolor:闪烁颜色
var arr_xys=jsonObj.mapxy.split(";"); //x1,y1;x2,y2;x3,y3
var mobjid=jsonObj.id; //唯一关键字
if (mobjid==null) mobjid="lineid";
removeLocatorInMap(mobjid);
var line = new esri.geometry.Polyline(); //map.spatialReference
var points = [];
for(var i=0;i<arr_xys.length;i++){
mapxy=arr_xys[i].split(",");
if (mapxy.length>1){
points[i]=new esri.geometry.Point(mapxy[0],mapxy[1]);
}
}
arr_xys=[];
line.addPath(points);
var sym = new esri.symbol.SimpleLineSymbol().setWidth(jsonObj.width);
if (jsonObj.type=="dash"){
sym.setStyle(esri.symbol.SimpleLineSymbol.STYLE_DASH);
}else if (jsonObj.type=="dot"){
sym.setStyle(esri.symbol.SimpleLineSymbol.STYLE_DOT);
}else if (jsonObj.type=="dashdot"){
sym.setStyle(esri.symbol.SimpleLineSymbol.STYLE_DASHDOT);
}else{
sym.setStyle(esri.symbol.SimpleLineSymbol.STYLE_SOLID);
}
sym.setColor(new dojo.Color(jsonObj.color));
var graphic1 = new esri.Graphic(line,sym);
var infoTemplate = new esri.InfoTemplate();
if (jsonObj.title) infoTemplate.setTitle(jsonObj.title); //标题
if (jsonObj.onclick) infoTemplate.setContent(jsonObj.onclick);
graphic1.setInfoTemplate(infoTemplate);
graphic1.user_overtext = jsonObj.onmouseover;
graphic1.user_id =mobjid;
if (jsonObj.flashcolor && jsonObj.flashcolor!=""){
graphic1.user_flashcolor=new dojo.Color(jsonObj.flashcolor);
graphic1.user_color=new dojo.Color(jsonObj.color);
}
gApp.gDynLayer.add(graphic1);
return graphic1;
}
gaojiananlixia 2012-09-19
  • 打赏
  • 举报
回复
没呢,就ASP.NET的
linmuxizhi 2012-09-19
  • 打赏
  • 举报
回复
有没有vb。net代码的
gaojiananlixia 2012-09-18
  • 打赏
  • 举报
回复
以上是全部代码,就差轨迹绘制为实现
gaojiananlixia 2012-09-18
  • 打赏
  • 举报
回复

var m_MainMap; //赋初值放在地图加载完后的initialize函数中
var m_x1, m_y1, m_x2, m_y2, IsFirst = true;
var m_Tracks = new Array();
var m_Gpss = new Array();
var m_TrackArr = new Array();
var m_i;
var m_TrackTimeHandle, m_FlashTimeHandle;
var m_Params, m_TotalLength;
var m_PosInfos = new Array(4);
var m_TrackTime = 2000, m_FlashTime = 1000; //轨迹回放间隔,单点定位闪烁间隔
var lineInfo; //存放坐标点集合字符串

//单点定位调
function SetPos(AX, AY) {
m_x1 = AX;
m_y1 = AY;
ClearFlag();
m_i = 0;
m_FlashTimeHandle = setInterval("FlashPt()");
}

function ClearFlag() {
for (var i = m_MainMap._graphicFeatures.length - 1; i >= 0; i--) {
m_MainMap.removeGraphic(m_MainMap._graphicFeatures[i]);
}
} 

function FlashPt() {
if (m_i >= 15) {
clearInterval(m_FlashTimeHandle);
m_FlashTimeHandle = null;
m_i = 0;
m_SliderPos = 0;
return;
}
if (m_i % 2 == 0) {
var useAnimation = true;
var zoomFactor = 1;
var CurPoint = new ESRI.ADF.Geometries.Point(parseFloat(m_x1), parseFloat(m_y1));

if (m_i == 0) {
m_MainMap.panTo(CurPoint, true);
m_MainMap.zoom(zoomFactor, new ESRI.ADF.Geometries.Point(parseFloat(parseFloat(m_x1), parseFloat(m_y1))), true);
}
AddflagPoint(CurPoint);
m_MainMap.refresh();
}
else {
ClearFlag();
}
m_i = m_i + 1;
}

function AddflagPoint(APoint) {
//添加点击标记
var style = null;
if (ESRI.ADF.Geometries.Point.isInstanceOfType(APoint)) {
//注意路径写法,与父页面的后台调用方式有关
//如果父页面的后台是:Server.Transfer(tmpUrl);,意味着当前指针还在调用者所在的路径中,就必须用 ./Images/Man.png
//如果父页面的后台是:Response.Redirect(tmpUrl);意味着当前指针已经在当前页面所在的路径中中了,就必须用 ../Images/Man.png

//圆点图标显示时
style = new ESRI.ADF.Graphics.MarkerSymbol("images/Location.gif", 15, 15); //图片manPt.png 16*16 即为添加的点击标记。//0, 16为相对图片的偏移 像素,可视具体图标而定,比如小旗子则为:0,16,小人则为:16/2,16/2
}
tmpFlagPt1 = $create(ESRI.ADF.Graphics.GraphicFeature, { "id": "我的位置", "geometry": APoint, "symbol": style });
// debugger;
m_MainMap.addGraphic(tmpFlagPt1);
}

//轨迹回放
function SetTrack(AStr) {
var i, j, tmpStr, x, y;
ClearFlag();
m_Tracks = AStr.split(";");
m_i = 0;
m_SliderBarMax = m_Tracks.length;
for (i = 0; i < m_Tracks.length; i++) {
tmpStr = m_Tracks[i];
m_TrackArr[i] = new TrackArray(tmpStr, "", 0, 0, 0);

m_Gpss = tmpStr.split(" ");

m_TrackArr[i].TimeText = m_Gpss[0];

m_TrackArr[i].x = m_Gpss[1];
m_TrackArr[i].y = m_Gpss[2];
m_TrackArr[i].dis = m_Gpss[3];
}
m_i = 0;
//绘制轨迹
ShowTrack();
//轨迹回放
m_TrackTimeHandle = setInterval("Go2Pt()", m_TrackTime);
}

function TrackArray(AStr, ATimeText, Ax, Ay, ADis) {
this.Str = AStr;
this.TimeText = ATimeText;
this.x = Ax;
this.y = Ay;
this.dis = ADis;
}

function ShowTrack() {
var i, CurPoint, PrePoint;
var tmpMinx, tmpMiny, tmpMaxx, tmpMaxy;
ClearFlag();
var useAnimation = true;
var zoomFactor = 0.3;
var str = new Array();

for (i = 0; i < m_Tracks.length; i++) {
CurPoint = new ESRI.ADF.Geometries.Point(parseFloat(m_TrackArr[i].x), parseFloat(m_TrackArr[i].y));

if (i > 0) {
PrePoint = new ESRI.ADF.Geometries.Point(parseFloat(m_TrackArr[i - 1].x), parseFloat(m_TrackArr[i - 1].y));
AddLine(PrePoint, CurPoint);
}
}
GetTrackExtent();
//必须是整形 118.76845,32.04069,118.806683,32.0448017
tmpMinx = parseFloat(m_x1);
tmpMiny = parseFloat(m_y1);
tmpMaxx = parseFloat(m_x2);
tmpMaxy = parseFloat(m_y2);
m_MainMap.set_extent(new ESRI.ADF.Geometries.Envelope(tmpMinx, tmpMiny, tmpMaxx, tmpMaxy));
}

//获取轨迹视野
function GetTrackExtent() {
var i;
m_x1 = 99999;
m_y1 = 99999;
m_x2 = -99999;
m_y2 = -99999;
for (i = 0; i < m_Tracks.length; i++) {
if (m_TrackArr[i].x < m_x1) {
m_x1 = m_TrackArr[i].x;
}
if (m_TrackArr[i].y < m_y1) {
m_y1 = m_TrackArr[i].y;
}
if (m_TrackArr[i].x > m_x2) {
m_x2 = m_TrackArr[i].x;
}
if (m_TrackArr[i].y > m_y2) {
m_y2 = m_TrackArr[i].y;
}
}

}

function ClearPrePt() {
for (var i = m_MainMap._graphicFeatures.length - 1; i >= 0; i--) {
if ((m_MainMap._graphicFeatures[i]._id == "我的位置") || (m_MainMap._graphicFeatures[i]._id == "我的提示") || (m_MainMap._graphicFeatures[i]._id == "我的时间")) {
m_MainMap.removeGraphic(m_MainMap._graphicFeatures[i]);
}
}
}

function AddLine(APrePoint, ACurPoint) {
AddflagPoint(APrePoint);
var newpath = new ESRI.ADF.Geometries.CoordinateCollection();

// var tmpPt1 = new ESRI.ADF.Geometries.Point(APrePoint.get_x(), APrePoint.get_y());
// var tmpPt2 = new ESRI.ADF.Geometries.Point(ACurPoint.get_x(), ACurPoint.get_y());

newpath.add(APrePoint);
newpath.add(ACurPoint);

var newPolyline = new ESRI.ADF.Geometries.Polyline();
newPolyline.addPath(newpath);
var trackLineSymbol = new ESRI.ADF.Graphics.LineSymbol();
trackLineSymbol.set_lineColor('blue');
trackLineSymbol.set_width(6);
trackLineSymbol.set_cursor('crosshair');
trackLineSymbol.set_opacity(0.7);
trackLine = $create(ESRI.ADF.Graphics.GraphicFeature, { "id": "我的线", "geometry": newPolyline, "symbol": trackLineSymbol });

m_MainMap.addGraphic(trackLine);
}

function Go2Pt() {
if (m_i >= m_TrackArr.length) {
clearInterval(m_TrackTimeHandle);
m_TrackTimeHandle = null;
m_i = 0;
alert("轨迹回放结束。");
return;
}
//补充线
CheckLineAdd();

var useAnimation = true;
var zoomFactor = 0.3;
var CurPoint = new ESRI.ADF.Geometries.Point(parseFloat(m_TrackArr[m_i].x), parseFloat(m_TrackArr[m_i].y));

if (m_i > 0) {
ClearPrePt();
}
m_MainMap.panTo(CurPoint, true);
AddflagPoint(CurPoint);

m_i = m_i + 1;
}

function CheckLineAdd() {
var i, CurPoint, PrePoint;
if (IsExistsLine() == false) {
for (i = 0; i < m_Tracks.length; i++) {
CurPoint = new ESRI.ADF.Geometries.Point(parseFloat(m_TrackArr[i].x), parseFloat(m_TrackArr[i].y));
if (i > 0) {
PrePoint = new ESRI.ADF.Geometries.Point(parseFloat(m_TrackArr[i - 1].x), parseFloat(m_TrackArr[i - 1].y));
AddLine(PrePoint, CurPoint);
}
}
}
}

function IsExistsLine() {
for (var i = m_MainMap._graphicFeatures.length - 1; i >= 0; i--) {
if (m_MainMap._graphicFeatures[i]._id == "我的线") {
return true;
}
}
return false;
}

gaojiananlixia 2012-09-18
  • 打赏
  • 举报
回复

#region Page_Load
protected void Page_Load(object sender, EventArgs e)
{
MyMap.PrimaryMapResource = "MyLayers";
m_LocateByXY = Page.ClientScript.GetCallbackEventReference(this, "'LocateByXY:'+message", "processCallbackResult", "context", "postBackError", true);
m_TaskLine = Page.ClientScript.GetCallbackEventReference(this, "'TaskLineId:'+taskLineId", "processCallbackResult", "context", "postBackError", true);
}
#endregion

public void RaiseCallbackEvent(string eventarges)
{
string tmpLocateInfo = "";
if (eventarges.StartsWith("LocateByXY:")) //单点定位
{
tmpLocateInfo = eventarges.Substring(11, eventarges.Length - 11);
System.Collections.Specialized.NameValueCollection nameValueCollection = CallbackUtility.ParseStringIntoNameValueCollection(tmpLocateInfo);
double x = Convert.ToDouble(nameValueCollection["X"]);
double y = Convert.ToDouble(nameValueCollection["Y"]);

CallJavaScriptPos(x.ToString(), y.ToString());
}
else if (eventarges.StartsWith("TaskLineId:"))//轨迹回放
{
tmpLocateInfo = eventarges.Substring(18, eventarges.Length - 18);

string taskLineInfo = "", taskLinePoint = "";
string[] str;

ArrayList taskLine_XY_Info = taskLineLocate(tmpLocateInfo);

foreach(string i in taskLine_XY_Info)
{
str = i.Split(',');
taskLinePoint += "<Point x='" + str[0] + "' y='" + str[1] + "' />";
}
taskLineInfo = "<root><TRACK>" + taskLinePoint + "</TRACK></root>";

taskLineInfo = taskLineInfo.Replace("%20", " ");
GetXml(Server.UrlDecode(taskLineInfo));
}
}

private void GetXml(string AXml)
{
int i = 0, j = 0, k = 0, n = 0, tmpValidNum = 0;
Double tmpPreValidX = 0, tmpPreValidY = 0;
string tmpSegmentName = "", tmpFieldName, tmpFieldValue = "", tmpMessage = "";
string tmpGPS_X = "", tmpGPS_Y = "";
if (AXml == "") return;

DataSet tmpDs = new DataSet();
tmpDs.ReadXml(new System.IO.MemoryStream(System.Text.Encoding.UTF8.GetBytes(AXml.ToUpper())));

tmpMessage = "";
//遍历段
for (i = 0; i < tmpDs.Tables.Count; i++)
{
DataTable tmpDt = tmpDs.Tables[i];
tmpSegmentName = tmpDt.TableName;
//遍历行
for (j = 0; j < tmpDt.Rows.Count; j++)
{
DataRow tmpDr = tmpDt.Rows[j];
//遍历列
for (k = 0; k < tmpDt.Columns.Count; k++)
{
tmpFieldName = tmpDt.Columns[k].Caption;
tmpFieldValue = tmpDr[k].ToString();

if ((tmpSegmentName == "POINT") && (tmpFieldName == "X"))
{
tmpGPS_X = tmpFieldValue;
}
else if ((tmpSegmentName == "POINT") && (tmpFieldName == "Y"))
{
tmpGPS_Y = tmpFieldValue;
}
}
if (tmpSegmentName == "POINT")
{
n = m_XYInfos.Length;
System.Array.Resize(ref m_XYInfos, n + 1);
m_XYInfos[n].X = Convert.ToDouble(tmpGPS_X);
m_XYInfos[n].Y = Convert.ToDouble(tmpGPS_Y);
}
}
}

for (n = 0; n < m_XYInfos.Length; n++)
{
tmpGPS_X = m_XYInfos[n].X.ToString();
tmpGPS_Y = m_XYInfos[n].Y.ToString();
if (n == 0)
{
tmpPreValidX = m_XYInfos[n].X;
tmpPreValidY = m_XYInfos[n].Y;
tmpMessage = tmpMessage + " " + tmpGPS_X + " " + tmpGPS_Y + ";";
tmpValidNum = tmpValidNum + 1;
}
else
{
if (m_XYInfos.Length < 20)
{
tmpPreValidX = m_XYInfos[n].X;
tmpPreValidY = m_XYInfos[n].Y;
tmpMessage = tmpMessage + " " + tmpGPS_X + " " + tmpGPS_Y + ";";
tmpValidNum = tmpValidNum + 1;
}
}
}

if ((tmpMessage.Length > 0) && (tmpValidNum >= 2))
{
tmpMessage = tmpMessage.Substring(0, tmpMessage.Length - 1);
System.Array.Resize(ref m_XYInfos, 0);
CallJavaScriptTrack(tmpMessage);
}
}

#region 根据任务线路ID获取点坐标
private ArrayList taskLineLocate(string taskLinkId)
{
ArrayList taskLineInfo = new ArrayList();

if (taskLinkId == "1")
{
taskLineInfo.Add("121.356369,29.576957");
taskLineInfo.Add("121.356487,29.575034");
taskLineInfo.Add("121.358017,29.573622");
taskLineInfo.Add("121.355663,29.573484");
taskLineInfo.Add("121.351818,29.571836");
}
else if (taskLinkId == "2")
{
taskLineInfo.Add("121.359920,29.573995");
taskLineInfo.Add("121.361431,29.574799");
taskLineInfo.Add("121.365708,29.575760");
taskLineInfo.Add("121.365041,29.576310");
}
return taskLineInfo;
}
#endregion

//单点定位调
private void CallJavaScriptPos(string AGPS_X, string AGPS_Y)
{
string scriptBlock = @" SetPos('" + AGPS_X + "','" + AGPS_Y + "')";
ESRI.ArcGIS.ADF.Web.UI.WebControls.CallbackResult cr = ESRI.ArcGIS.ADF.Web.UI.WebControls.CallbackResult.CreateJavaScript(scriptBlock);
MyMap.CallbackResults.Add(cr);
m_CallbackResults = MyMap.CallbackResults.ToString();
}
//轨迹定位回放
private void CallJavaScriptTrack(string taskLineInfo)
{
string scriptBlock = @" SetTrack('" + taskLineInfo + "')";
ESRI.ArcGIS.ADF.Web.UI.WebControls.CallbackResult cr = ESRI.ArcGIS.ADF.Web.UI.WebControls.CallbackResult.CreateJavaScript(scriptBlock);
MyMap.CallbackResults.Add(cr);
m_CallbackResults = MyMap.CallbackResults.ToString();
}

//把处理结果返回给客户端
public string GetCallbackResult()
{
return m_CallbackResults;
}


1.地图下载。支持谷歌、天地图、百度、诺基亚、搜搜、搜狗、必应、ArcGIS Online、高德、阿里云地图、超图云地图、雅虎的街道地图、卫星地图(卫片)、标签/卫星混合地图、地形图的高速下载 2.多种下载方式。支持按行政区划下载、框下载、多边形下载、导入KML下载 3.Web地图服务发布。 支持将下载地图发布为Web地图服务(WMTS),供ArcGIS、SuperMap、Openlayers等客户端直接远程访问,支持Openlayers/ArcGIS API For Javascript/Flex等多款GIS客户端离线浏览,同时支持发布TPK,发布ArcGIS缓存为WMTS地图,助您轻松构建自己的局域网离线地图应用! 4.无缝拼接成单张大图。支持无损压缩、分块拼接,可在ArcMap、Erdas Imagine中直接打开,包含坐标范围\投影信息等 5.ArcGIS切片缓存格式转换。支持将下载的地图转换为ArcGIS切片缓存格式,可在ArcMap中直接打开,也可用于ArcGIS Server发布为底图服务 6.Google格式切片转换。支持将下载的地图转换为Google格式切片,导出后可直接在浏览器中调用Google API离线浏览 7.OruxMap s离线地图包转换。支持将下载的地图转换为OruxMaps离线地图包,供户外安卓地图软件OruxMaps离线调用,支持导出无偏移卫星地图,同自有Kml数据完美叠加 8.MBTiles格式离线地图包转换。支持将下载的地图转换为MBTiles格式离线地图包 9.SQLiteDB格式离线地图包转换。支持将下载的地图转换为SQLiteDB格式离线地图包,供RMaps、BigPlanet等手机地图离线浏览 10.GoogleEarth高程下载。支持对GoogleEarth高程数据进行下载,并支持调用相关工具对下载的高程进行空间插值分析,从而生成等高线等,以进行三维地形图的生产 11.地图纠偏。独家纠偏算法,完美解决地图偏移问题,纠偏后可同矢量数据完美叠加,并支持无缝拼接纠偏、ArcGIS缓存纠偏、地图服务纠偏 12.坐标批量纠偏。支持对自有坐标数据进行纠偏或加偏处理,同时支持将坐标数据转换为Kml或Excel格式 13.影像坐标系转换。支持任意投影之间的影像坐标系转换,如将具备谷歌投影的地图转为WGS84、xian80、china2000等 14.B/S C/S多种方式离线浏览。支持对下载地图的ArcGIS缓存格式,谷歌金字塔切片格式,百度切片格式、我们的自有格式azdb进行本机离线浏览,并支持调用谷歌地图离线API、百度地图离线API进行B/S方式离线浏览 15.影像金字塔构建。更快速的在第三方软件中浏览大图 16.支持多任务、多线程的高速下载,支持任务的断点续传。 17.支持地理标注,支持测距、支持读取GPX路线、轨迹信息。 18.支持导出KML。支持将全国省市县区行政区划导出为Kml格式 19. 历史卫片查看。支持下载Google卫星地图的历史卫片。 20.更为简洁的Win8操作界面,更为简便的地图下载流程,超好用户体验!!! 等等,资源中包含v4.6版本的太乐下载器,注册机,以及注册步骤等资源,如有问题请留言探讨,谢谢!!!

10,608

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 其他
社区管理员
  • 其他
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧