首页 / 浏览问题 / 移动GIS / 问题详情
怎么展示我当前所在位置的地图。
7EXP 2016年12月19日
你们官网上给的demo或者文档都是需要我们在沙盒里导入模拟数据,那么在实际开发中并不需要这些模拟数据,而是以我当前所在位置为中心的一个地图,就像我们打开百度地图或者其他地图那样,请问怎么解决?

2 个回答

地图展示来源于数据,数据可以是离线工作空间数据(即.smwu)也可以是发布地图服务的数据(即rest服务),在实际应用当中根据不同的需求来选择使用。像您所说的就是第二种调用服务来显示地图展示。
25EXP 2016年12月19日

发布地图服务的数据是怎么获取,这个我不太懂,麻烦你讲一下

首先需要对地图数据进行发布,发布以后的服务我们再进行调用从而展示。简单的调用代码如下:       mMapView = mapView;
        mMapControl = mMapView.getMapControl();
        mWorkspace = new Workspace();     
        mMap = mMapControl.getMap(); // 获取地图控件
        mMap.setWorkspace(mWorkspace);
        m_info = new DatasourceConnectionInfo();
        m_info.setServer(服务地址);
        m_info.setEngineType(EngineType.Rest);
        m_info.setDriver("REST");
        mDatasource = mWorkspace.getDatasources().open(m_info);
        Dataset dataset = mDatasource.getDatasets().get(0);
请问服务地址是什么啊,从哪里获取的?
你写的是安卓的代码,那么有没有iOS 的代码呢

我这样写是不是不对啊 ,地图显示不出来。

服务是通过iserver发布出来的,咱们官网移动GIS里面有调用在线服务的demo(android以及ios),您这边可以下载下来试试呢
你好,我只是见到了安卓的demo,但是没见到iOS的,麻烦你帮我找一下,谢谢。
demo里面“SuperMap iMobile for iOS 超图云地图中实现GPS定位”这个就是。如何打开在线地图例如超图云地图以及进行GPS定位。另外这是在线API地址:http://support.supermap.com.cn/DataWarehouse/WebDocHelp/iMobileForIos/SuperMapiMobileForiOSHelp.htm

“SuperMap iMobile for iOS 超图云地图中实现GPS定位”里,在定位得到经纬度后,去请求数据的URL如图:

请求得到的数据是:

result里没有数据,error里的信息是未获得操作结果,是不是这个URL不能用了?

还有就是我看定位那个demo里用的是iOS系统的定位类,那么你们超图有没有提供定位的API什么的,
API里有<locationChangedDelegate>协议及LocationManagePlugin类参考
在定位那个demo里,获得定位的经纬度后为什么还有调用我刚才说的那个URL?我直接跳过这个请求是不行的吗?是不是那个URL把我获得的经纬度转换成超图上相对应的经纬度?
是这样的
LocationManagePlugin这个类是继承与iOS系统类CLLocationManager,那么他们两个定位的经纬度是一样的额?有什么区别吗?还有是不是无论用哪个类去定位都是要通过访问那个URL去转换成超图的经纬度?
使用GPS定位,获取当前位置坐标,然后将地图的中心点设置为当前位置坐标,适当调整地图比例尺
1,737EXP 2016年12月19日
在进行地图放大缩小的时候,会出现空白的区域,过一会才会加载完毕,怎样优化呢?
你打开的应该是在线地图吧,在线地图加载瓦片会一片一片的出来,受网络环境影响
我看了一下你们定位的类是继承与iOS系统定位类CLLocationManager的,那么用你们提供的LocationManagePlugin或者iOS系统自带的CLLocationManager定位得到的经纬度都是一样的,那么怎么转换成超图在线地图相对应的经纬度?
使用投影转换,将经纬度的数据转换为相应的地图坐标
我不太明白“投影坐标系”的概念,那么我用GPS定位的经纬度是属于投影坐标系?
...