如何在ArcGIS Online中构建自己的应用程序模板初级篇-显示地图
分享
开发ArcGIS Online应用程序模板之前,需要了解怎么使用ArcGIS API for JavaScript。
在ArcGIS Online当中如何构架自己的应用程序模板,我们得先要了解ArcGIS Online如何解析这个web地图的。
做过程序开发的,都清楚,每一个item都对应着数据库的一个id值。而ArcGIS Online这个Id名称是webmap。
这就简单了,我们有了这个webmap的值,然后查询数据库或其他文件就能得到这个webmap。
第一步,我们就需要进行对这个webmap参数值解析。
var queryString = function(key) {
return (document.location.search.match(new RegExp("(?:^\\?|&)"+key+"=(.*?)(?=&|$)"))||['',null])[1];
}
function init() {
var WEBMAP_ID = queryString("webmap")||"ceac2dfaea0449119724e8b78e99013a";//默认值
}
其实ArcGIS API for JavaScript有这么一个类似的函数。
function init() {
var urlObject = esri.urlToObject(document.location.href);
if(urlObject.query && typeof (urlObject.query.webmap) != "undefined") {
var WEBMAP_ID = urlObject.query.webmap;
} else {
var WEBMAP_ID = "ceac2dfaea0449119724e8b78e99013a"
}
}
第二步,有了webmap值,我们就可以根据这个ID值,就可以来创建我们的地图。需要注意一点,使用下面的方法,webmap最好对公众开放,否则还得需要进行登录,获取token。
function init() {
var urlObject = esri.urlToObject(document.location.href);
if(urlObject.query && typeof (urlObject.query.webmap) != "undefined") {
var WEBMAP_ID = urlObject.query.webmap;
} else {
var WEBMAP_ID = "ceac2dfaea0449119724e8b78e99013a"
}
var mapDeferred = esri.arcgis.utils.createMap(WEBMAP_ID, "map", {
mapOptions : {
slider : true
},
ignorePopups : false,
bingMapsKey : ""
});
mapDeferred.addCallback(function(response) {
console.log(response);
_map = response.map;
dojo.connect(dijit.byId('map'), 'resize', _map,_map.resize);
})
} esri.arcgis.utils.createMap参数。
返回值,是一个dojo.Deferred对象,关于这个对象具体怎么使用可以观看
这篇文章。addCallback,很明显就是添加一个回调函数,等得到item对象数据之后,然后调用这些回调函数。 这样简单的,几句代码就可以很容易显示出ArcGIS Online上的web 地图。
如何在ArcGIS Online中构建自己的应用程序模板初级篇-显示地图
如何在ArcGIS Online中构建自己的应用程序模板中级篇-解析数据
如何在ArcGIS Online中构建自己的应用程序模板高级篇-利用数据
文章来源:http://blog.csdn.net/arcgis_all/article/details/8200220
在ArcGIS Online当中如何构架自己的应用程序模板,我们得先要了解ArcGIS Online如何解析这个web地图的。
做过程序开发的,都清楚,每一个item都对应着数据库的一个id值。而ArcGIS Online这个Id名称是webmap。
这就简单了,我们有了这个webmap的值,然后查询数据库或其他文件就能得到这个webmap。
第一步,我们就需要进行对这个webmap参数值解析。
var queryString = function(key) {
return (document.location.search.match(new RegExp("(?:^\\?|&)"+key+"=(.*?)(?=&|$)"))||['',null])[1];
}
function init() {
var WEBMAP_ID = queryString("webmap")||"ceac2dfaea0449119724e8b78e99013a";//默认值
}
其实ArcGIS API for JavaScript有这么一个类似的函数。
function init() {
var urlObject = esri.urlToObject(document.location.href);
if(urlObject.query && typeof (urlObject.query.webmap) != "undefined") {
var WEBMAP_ID = urlObject.query.webmap;
} else {
var WEBMAP_ID = "ceac2dfaea0449119724e8b78e99013a"
}
}
第二步,有了webmap值,我们就可以根据这个ID值,就可以来创建我们的地图。需要注意一点,使用下面的方法,webmap最好对公众开放,否则还得需要进行登录,获取token。
function init() {
var urlObject = esri.urlToObject(document.location.href);
if(urlObject.query && typeof (urlObject.query.webmap) != "undefined") {
var WEBMAP_ID = urlObject.query.webmap;
} else {
var WEBMAP_ID = "ceac2dfaea0449119724e8b78e99013a"
}
var mapDeferred = esri.arcgis.utils.createMap(WEBMAP_ID, "map", {
mapOptions : {
slider : true
},
ignorePopups : false,
bingMapsKey : ""
});
mapDeferred.addCallback(function(response) {
console.log(response);
_map = response.map;
dojo.connect(dijit.byId('map'), 'resize', _map,_map.resize);
})
} esri.arcgis.utils.createMap参数。
返回值,是一个dojo.Deferred对象,关于这个对象具体怎么使用可以观看
这篇文章。addCallback,很明显就是添加一个回调函数,等得到item对象数据之后,然后调用这些回调函数。 这样简单的,几句代码就可以很容易显示出ArcGIS Online上的web 地图。
如何在ArcGIS Online中构建自己的应用程序模板初级篇-显示地图
如何在ArcGIS Online中构建自己的应用程序模板中级篇-解析数据
如何在ArcGIS Online中构建自己的应用程序模板高级篇-利用数据
文章来源:http://blog.csdn.net/arcgis_all/article/details/8200220
0 个评论
相关问题
- 如何优雅的使用ArcGIS知乎?
- 建设ArcGIS知乎平台的目和意义?
- ArcGIS知乎社区改进意见征集
- 有谁知道哪里可以免费获取各省市地图数据呢,包括详细的shape文件数据
- 苹果系统下可以使用arcgis 吗?
- arcgis版本兼容性
- 请问ArcGIS适合在局域网内用javaweb做二次开发吗?
- 请问大神们,怎么用ArcGIS做城镇间经济联系强度的图?
- 在Visual studio 2015 中使用 Arcgis API for JavaScript v3.16 如何实现代码智能提示?
- ArcGIS如何求栅格图像的“质心”
- 在windows server2008 R2 64位中安装了portal 10.5 设置好托管arcgis server站点,并用data store为托管数据库,发布数据出错