我通过调用PostGIS数据库返回了一些GeoJSON.我希望能够为每个功能添加标记,并能够切换不同类型的标记/功能.目前我正在使用JavaScript为每个功能生成一个标记,根据类型将它们添加到数组中,然后根据需要通过数组设置show/hide来切换'layers'.
这工作正常,但我想知道新的GeoJSON功能是否提供了更好的方法.据我所知,所有功能都被添加到同一个数据层,并且切换它们将涉及设置样式或仅替换新的预过滤的GeoJSON.
所以问题是,是否可以拥有多个数据层,并可以轻松地从地图中添加/删除它们,或者我最好不要查看类似OpenLayers的内容?
编辑:更多研究表明它非常简单.
对于要切换的要素集合中的每种要素类型,请创建新的Data对象.将所有相关功能添加到该数据对象.
var datalayer = new google.maps.Data();
datalayer.addGeoJson(feature);
datalayer.setMap(mainmap);
Run Code Online (Sandbox Code Playgroud)
然后将每个数据对象/要素类型存储为键值对.在切换时,根据需要拉出相关数据对象和setMap:
var datalayer= featuretypesobj["feature type to toggle"];
datalayer.setMap(mymap); //or
datalayer.setMap(null);
Run Code Online (Sandbox Code Playgroud) 我的应用程序需要访问在不同服务器上运行的RESTful Web服务.此Web服务使用CAS身份验证,当通过浏览器使用它时,如果用户尚未通过身份验证,它将重定向到CAS登录.没有方法可以通过CAS实际登录.我的应用程序也使用CAS,因此用户将被验证
我想通过JQuery/Ajax访问它,但似乎没有为JSONP配置服务器,我理解这是必不可少的,因为跨域问题.
现在,我可以通过我的服务器发出Ajax请求,这导致了我的问题:我的服务器没有CAS登录方法来调用,我如何"告诉"用户被认证的Web服务?
所以我想首先我要弄清楚浏览器,CAS和RESTful服务之间发生了什么,以及如何在没有任何明确的凭据传递的情况下处理授权.其次,我想知道如何从我的服务器调用服务时是否可以复制它 - 它与来自浏览器的请求不是同一个会话因此没有CAS授权令牌,但我不看看如何获得或提供它.
我在我的机器上安装了Matlab Compiler Runtime.它工作正常,但现在当我运行一些需要它的代码时,我收到此错误:
无法初始化MCR实例:指定的组件已过期.
我认为MCR基本上是免费下载的,但现在我想知道我是否有试用版或者其他东西,尽管据我所知,没有什么可以说在Matlab下载网站上就是这种情况.
还有其他人有同样的问题吗?
对于某些像这样的RDF:
<?xml version="1.0"?>
<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:blah="http://www.something.org/stuff#">
<rdf:Description rdf:about="http://www.something.org/stuff/some_entity1">
<blah:stringid>string1</blah:stringid>
<blah:uid>1</blah:uid>
<blah:myitems rdf:parseType="Collection">
<blah:myitem>
<blah:myitemvalue1>7</blah:myitemvalue1>
<blah:myitemvalue2>8</blah:myitemvalue2>
</blah:myitem>
...
<blah:myitem>
<blah:myitemvalue1>7</blah:myitemvalue1>
<blah:myitemvalue2>8</blah:myitemvalue2>
</blah:myitem>
</blah:myitems>
</rdf:Description>
<rdf:Description rdf:about="http://www.something.org/stuff/some__other_entity2">
<blah:stringid>string2</blah:stringid>
<blah:uid>2</blah:uid>
<blah:myitems rdf:parseType="Collection">
<blah:myitem>
<blah:myitemvalue1>7</blah:myitemvalue1>
<blah:myitemvalue2>8</blah:myitemvalue2>
</blah:myitem>
....
<blah:myitem>
<blah:myitemvalue1>7</blah:myitemvalue1>
<blah:myitemvalue2>8</blah:myitemvalue2>
</blah:myitem>
</blah:myitems>
</rdf:Description>
</rdf:RDF>
Run Code Online (Sandbox Code Playgroud)
我正在使用Jena/SPARQL,我希望能够使用SELECT查询来检索myitems具有特定实体的节点stringid,然后从结果集中提取它并迭代并获取每个myitem节点的值.订单并不重要.
所以我有两个问题:
blah:myitems列表?我正在使用Protege开发一个本体,其中包含一些已在DBpedia中描述的内容.假设我想要包括一个"城市"课程,并将"柏林"作为个人.我的柏林将拥有柏林DBpedia所拥有的一些属性,但除此之外我还想"重用"DBpedia的柏林.
我是否需要定义自己的柏林然后使用rdf:seeAlso还是我可以以某种方式导入DBpedia的柏林并添加一些属性?