arcgis for android访问arcgis server上自己制作部署的地图服务
2014-06-05 17:10
267 查看
转自:http://gaomw.iteye.com/blog/1110437
本项目的开发环境是eclipse3.5 + ADT11插件+arcgis for andorid 插件 + arcgis server java9.3.1版本
1.制作arcgis地图
地图的坐标是WGS_1984_Web_Mercator,如果是别的手机端不能正常显示。
2把图片部署到arcgis server
安装图上标注的选择自己制作好的地图如下图
注意路径问题,有的默认路径就是c盘fakepath目录下,把这个改成自己的实际地图路径,如下图
这里一定要选择Mobile Data Access这一项,其余的可以看自己项目的需求,如下图
最后点击左边的Manage Services 可以看到自己部署的地图是否正常运行如下图
3.android端访问服务
说下地图服务url的
http://本机:8399/arcgis/rest/services访问这个地址你就可以看到已经部署在这个arcgis server上的地图
选择我们需要的http://本机:8399/arcgis/rest/services/position/MapServer
就以arcgis for android的自带的helloworld项目为例
main.xml代码如下
Java代码
<com.esri.android.map.MapView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/map"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
initExtent="82.7000573134345 -209.49929219769712 473.75006718843446 -213.21179229144713">
<com.esri.android.map.ags.ArcGISDynamicMapServiceLayer
url="http://192.168.16.235:8399/arcgis/rest/services/position/MapServer"/>
<com.esri.android.map.GraphicsLayer android:id="@+id/gLayer" />
</com.esri.android.map.MapView>
注意initExtent坐标不能为空;
注意ArcGISDynamicMapServiceLayer 默认的helloword中的是ArcGISTiledMapServiceLayer,要改下否则访问不成功。
java代码不要做修改
Java代码
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
map = (MapView) findViewById(R.id.map);
//Retrieve the non-configuration instance data that was previously returned.
Object init = getLastNonConfigurationInstance();
if (init != null) {
map.restoreState((String) init);
}
}
运行结果如下:
本项目的开发环境是eclipse3.5 + ADT11插件+arcgis for andorid 插件 + arcgis server java9.3.1版本
1.制作arcgis地图
地图的坐标是WGS_1984_Web_Mercator,如果是别的手机端不能正常显示。
2把图片部署到arcgis server
安装图上标注的选择自己制作好的地图如下图
注意路径问题,有的默认路径就是c盘fakepath目录下,把这个改成自己的实际地图路径,如下图
这里一定要选择Mobile Data Access这一项,其余的可以看自己项目的需求,如下图
最后点击左边的Manage Services 可以看到自己部署的地图是否正常运行如下图
3.android端访问服务
说下地图服务url的
http://本机:8399/arcgis/rest/services访问这个地址你就可以看到已经部署在这个arcgis server上的地图
选择我们需要的http://本机:8399/arcgis/rest/services/position/MapServer
就以arcgis for android的自带的helloworld项目为例
main.xml代码如下
Java代码
<com.esri.android.map.MapView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/map"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
initExtent="82.7000573134345 -209.49929219769712 473.75006718843446 -213.21179229144713">
<com.esri.android.map.ags.ArcGISDynamicMapServiceLayer
url="http://192.168.16.235:8399/arcgis/rest/services/position/MapServer"/>
<com.esri.android.map.GraphicsLayer android:id="@+id/gLayer" />
</com.esri.android.map.MapView>
注意initExtent坐标不能为空;
注意ArcGISDynamicMapServiceLayer 默认的helloword中的是ArcGISTiledMapServiceLayer,要改下否则访问不成功。
java代码不要做修改
Java代码
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
map = (MapView) findViewById(R.id.map);
//Retrieve the non-configuration instance data that was previously returned.
Object init = getLastNonConfigurationInstance();
if (init != null) {
map.restoreState((String) init);
}
}
运行结果如下:
相关文章推荐
- ArcGis地图服务连接不上(ArcGIS Server for Java的REST接口无法访问)解决方法
- 关于arcgis for android demo中加载自己发布的地图服务出错
- ArcGIS for Java_Flex程序中浏览自己的ArcGIS Server 9.3中发布的地图
- ArcGIS for Android示例解析之添加地图服务-----AddLayer
- ArcGIS API for JavaScript 4.3 与ArcGIS Server联动使用【地图服务】
- ArcGIS API for Silverlight部署本地地图服务
- ArcGIS API for Silverlight部署本地地图服务
- ArcGIS for Android 加载自己发布的地图却不显示
- 关于ArcGIS FlexViewer访问地图服务跨域问题
- 使用ArcGIS API for Flex构建Android和iOS移动地图应用程序
- ArcGIS for Android示例解析之GP服务调用-----ViewShed
- ArcGIS for Android 中MapView的地图背景设置
- ArcGIS for Android示例解析之地图旋转-----MapRotation
- ArcGis For Silverlight API,地图显示Gis,绘制点,线,绘制图等(二)--Silverlight 配置动态的 webService、动态加载ArcGis地图服务
- arcgis for android 学习 - (5) 在地图指定位置添加“标记“,并尝试选中它
- 【技术直通车】ArcGIS for Android地图控件的5大常见操作
- arcgis for android 地图查询并定位
- ArcGIS API for Silverlight中通过https访问rest服务(三)
- arcgis for flex 地图发布服务
- ArcGIS API for Silverlight中通过https访问rest服务(二)