你可能需要在Map 3D中通过程序把某块地图拉到屏幕中央来,下面通过程序的方式来实现这个功能。

这里有两种情况,如果你在Map 3D中通过Data Connect连接到了一下FDO数据源(SDF、SHP、Oracle Spatial等等),并把他们加入到了地图上,这时你可以使用AcMapMap.ZoomToExtent方法,他接受一个MgEnvelope对象。但如果你么有FDO数据源,那么你就得用AutoCAD API来做了。

下面是实现代码:

        [CommandMethod("ZoomCenter")]public void ZoomCenter(){Document doc = Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument;Database db = doc.Database;Editor ed = doc.Editor;Point3d centerPt;PromptPointOptions ppo = new PromptPointOptions("Click on map to zoom center:");PromptPointResult ppr = ed.GetPoint(ppo);if (ppr.Status == PromptStatus.OK){centerPt = ppr.Value;AcMapMap map = AcMapMap.GetCurrentMap();MgEnvelope mapExtent = map.GetMapExtent();//There are some FDO feature source connected if (!mapExtent.IsNull()){double centerX = mapExtent.LowerLeftCoordinate.X + mapExtent.Width / 2;double centerY = mapExtent.LowerLeftCoordinate.Y + mapExtent.Height / 2;ed.WriteMessage("center:" + centerX.ToString() + "," + centerY.ToString() + "\n");MgEnvelope newExtent = new MgEnvelope(centerPt.X - mapExtent.Width / 2,centerPt.Y - mapExtent.Height / 2,centerPt.X + mapExtent.Width / 2,centerPt.Y + mapExtent.Height / 2);map.ZoomToExtent(newExtent);}else{//no FDO data source, use AutoCAD APIusing (Transaction Tx = db.TransactionManager.StartTransaction()){ed.UpdateTiledViewportsInDatabase();ViewportTableRecord viewportTableRec = Tx.GetObject(ed.ActiveViewportId, OpenMode.ForWrite) as ViewportTableRecord;viewportTableRec.CenterPoint = new Point2d(centerPt.X, centerPt.Y);ed.UpdateTiledViewportsFromDatabase();Tx.Commit();}}}}

Map 3D中程序设置地图中心点相关推荐

  1. android高德地图设置缩放级别,设置地图中心点/级别

    html, body, #container { width: 100%; height: 100%; } 设置地图级别与中心点 设置地图中心点 随机地图层级 setZoom 随机地图中心点 setC ...

  2. Map 3D中通过程序删除图层及数据源

    在Map 3D中可以通过API来连接到SHP,Oracle等各种数据源,如果你对这个过程不熟悉,可以参考Map 3D ObjectARX SDK中的BuildMap示例,但BuildMap中没有演示如 ...

  3. html 设置地图中心点,SOSO地图JS画出标注和中心点以html形式运行

    直接贴出代码,这个可以在本地创建一个html文件直接运行: Map function init() { var center = new soso.maps.LatLng(31.15953,121.5 ...

  4. Map 3D API二次开发学习指南

    作者:杜长宇 – Autodesk开发技术顾问 2012年9月26日 AutoCAD Map 3D 是构建于AutoCAD之上,面向基础设施领域的产品,他采用FDO技术来实现对业界常见GIS数据格式的 ...

  5. 动态设置高德地图中心点(坐标点),始终位于屏幕中心

    项目需求是做一个类似于滴滴的车辆救援,界面是地图上面再覆盖一部分表单.订单状态不同,表单里的信息不同,那么表单的高度就不同.因为界面都使用到了map,所以尽管订单有不同的状态,但是我都在一个界面做,通 ...

  6. [Map 3D开发实战系列] Map Resource Explorer 之四-- Map3D开发中的WPF

    目录 [Map 3D开发实战系列] Map Resource Explorer 背景介绍--Kick off [Map 3D开发实战系列] Map Resource Explorer 之二-- 运行和 ...

  7. 百度地图设置显示中心点

    百度地图实例连接地址如下: https://lbsyun.baidu.com/jsdemo.htm#bSetGetMapCenter var point = new BMapGL.Point(lng, ...

  8. 如何在网页中调用百度地图API

    转载地址:http://www.cnblogs.com/milkmap/archive/2011/02/22/1960004.html [百度地图API]建立全国银行位置查询系统(一)--如何创建地图 ...

  9. 在Fragment中实现百度地图,定位到当前位置(基于SDKv2.1.0)

    使用最新版本的百度地图需要注意的几个地方: 1.libs文件夹下要有android-support-v4.jar.baidumapapi_v2_1_0.jar.locSDK_3.1.jar三个jar包 ...

最新文章

  1. SD-WAN行业发展需要VNF演进
  2. 函数 —— fork()分叉函数
  3. Python爬虫(一)_HTTP的请求与响应
  4. UA SIE545 优化理论基础4 对偶理论简介2 弱对偶与Duality Gap
  5. Vs2012 打开项目 自动关闭 并停止工作 解决方法
  6. 关于Flex-Mvc的几个框架的简单介绍
  7. mysql使用Navicat创建分区
  8. 转载:IBM红米连接wifi的方法
  9. SQL 调试:无法启动 T-SQL 调试。未能附加到 SQL Server 进程
  10. AJPFX讲解Java 性能优化[4]:关于 finalize 函数
  11. 查看scala变量数据类型_Scala文字,变量和数据类型| Scala编程教程
  12. srsLTE源码学习:协议数据单元PDU:pdu.h
  13. CMU计算机学院院长Andrew Moore离职,下一任院长人选未定
  14. 揭秘淘宝用户增长全链路项目管理
  15. 解决vue项目背景图片在IE和火狐上不显示的问题
  16. python的jieba分词词性标注
  17. Windows7 基本常见问题及解决方案之汇总
  18. 点击a标签调起whatsapp
  19. Jenkins + 钉钉 + SpringBoot 极简入门,一键打包部署项目
  20. WIN10 开启SFTP FTP FTPS配置

热门文章

  1. jquery radio取值,checkbox取值,select取值,radio选中,checkbox选中,select选中,及其相关...
  2. 下划线hover下动态出现技巧
  3. Project Eular 634
  4. 只需几分钟跟小猫学前端(内含视频教程):nodejs基础之用express、ejs、mongdb建设简单的网站...
  5. MODS: Fast and Robust Method for Two-View Matching
  6. 搜索引擎的选择—百度还是谷歌?
  7. Mybatis增删改
  8. CodeForces - 570E(dp------------- Codeforces Round #316 (Div. 2)E
  9. 更改Mysql数据库存储位置的具体步骤
  10. Android学习指南 第六讲:用户界面 View(二)