123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153 |
- <!--********************************************************************
- * Copyright© 2000 - 2021 SuperMap Software Co.Ltd. All rights reserved.
- *********************************************************************-->
- <!DOCTYPE html>
- <html>
- <head>
- <meta charset="UTF-8">
- <title data-i18n="resources.title_cartoCSSHelloKitty"></title>
- <script type="text/javascript" src="../js/include-web.js"></script>
- <script type="text/javascript" src="../../dist/ol/include-ol.js"></script>
- </head>
- <body style=" margin: 0;overflow: hidden;background: #fff;width: 100%;height:100%; position: absolute;top: 0;">
- <div id="map" style="margin:0 auto;width: 100%;height: 100%;"></div>
- <script type="text" id="cartoCssStr">
- /*此处定义不同的颜色变量,在后面可以重复用这些颜色值*/
- @waterColor:rgb(245,169,193);
- @roadColora:rgb(244,73,116);
- @roadColorb:rgb(244,73,116);
- @railwayColora:rgb(50,50,50);
- @railwayColorb:rgb(255,255,255);
- @vegetationColor:rgb(239,169,193);
- @continentColor:rgb(250,250,250);
- @provinceLineColor:rgb(226,195,19);
- #Railway_A___Road::a{
- /*每一段的长度为15px,间隔也是15px*/
- line-color:@railwayColora;
- line-width:2.5;
- }
- #Railway_A___Road::b{
- /*每一段的长度为15px,间隔也是15px*/
- line-dasharray:18,18;
- line-color:@railwayColorb;
- line-width:1.5;
- }
- /*底下的地图背景图层*/
- #World_Division_pl___China{
- polygon-fill:@waterColor;
- }
- /*中国除外的其他国家的图层*/
- #World_Continent_pl___China{
- polygon-fill:@continentColor;
- line-width:1;
- line-color:@continentColor;
- }
- #China_Province_pl___China{
- polygon-fill:@continentColor;
- line-color:rgba(0,0,0,0);
- }
- #Arterial_Road_ln___China::one{
- line-color:@roadColora;
- line-width:2;}
- #Arterial_Road_ln___China::two{
- line-color:@roadColorb;
- line-width:1;}
- #Arterial_Road_ln___China___1::one{
- line-color:@roadColora;
- line-width:2;}
- #Arterial_Road_ln___China___1::two{
- line-color:@roadColorb;
- line-width:1;}
- #Arterial_Road_ln___China___1___1::one{
- line-color:@roadColora;
- line-width:2;}
- #Arterial_Road_ln___China___1___1::two{
- line-color:@roadColorb;
- line-width:1;}
- #Main_Road_L___China::one{
- line-color:@roadColora;
- line-width:2;}
- #Main_Road_L___China::two{
- line-color:@roadColorb;
- line-width:1;}
- #Main_Road_L___China___1::one{
- line-color:@roadColora;
- line-width:2;}
- #Main_Road_L___China___1::two{
- line-color:@roadColorb;
- line-width:1;}
- #Main_Road_L___China___1___1::a{
- line-color:@roadColora;
- line-width:2;}
- #Main_Road_L___China___1___1::b{
- line-color:@roadColorb;
- line-width:1;}
- #Hydside_Area_pl___Hydside{
- polygon-fill:@waterColor;
- line-color:@waterColor;
- }
- #China_Provinces_L___China400{
- line-dasharray:10,10;
- line-color:@provinceLineColor;
- line-width:1;
- }
- </script>
- <script type="text/javascript">
- var url = (window.isLocal ? window.server : "https://iserver.supermap.io")+"/iserver/services/map-china400/rest/maps/China";
- new ol.supermap.MapService(url).getMapInfo(function (serviceResult) {
- var map = new ol.Map({
- target: 'map',
- controls: ol.control.defaults({attributionOptions: {collapsed: false}})
- .extend([new ol.supermap.control.Logo()]),
- view: new ol.View({
- center: [12957388, 4853991],
- zoom: 11,
- multiWorld: true
- })
- });
- var stylesOptions = {
- url: url,
- view: map.getView(),
- donotNeedServerCartoCss: true,
- cartoCss: document.getElementById("cartoCssStr").text
- }
- var vectorTileStyles = new ol.supermap.VectorTileStyles(stylesOptions);
- var vectorTileOptions = ol.source.VectorTileSuperMapRest.optionsFromMapJSON(url, serviceResult.result);
- vectorTileOptions.returnAttributes = false;
- var vectorLayer = new ol.layer.VectorTile({
- source: new ol.source.VectorTileSuperMapRest(vectorTileOptions),
- style: vectorTileStyles.getFeatureStyle
- });
- map.addLayer(vectorLayer);
- map.on('click', function (e) {
- map.forEachFeatureAtPixel(e.pixel, function (feature) {
- vectorTileStyles.dispatchEvent({type: 'featureSelected',
- selectedId: feature.getProperties().id,
- layerName: feature.getProperties().layerName
- });
- return true;
- }, {hitTolerance: 5});
- vectorLayer.changed();
- })
- });
- </script>
- </body>
- </html>
|