Map_zj_basic.vue 2.32 KB
<!--
 * @Author: jiangbotao
 * @Date: 2019-12-18 00:23:47
 * @LastEditors  : jiangbotao
 * @LastEditTime : 2019-12-18 09:27:40
 * @FilePath: \supermapvue\src\components\layers\Map_mapbox.vue
 -->
<template>
    <div >
        <div id="map"></div>
    </div>
</template>

<script>
import $ from 'jquery';
import mapboxgl from 'mapbox-gl';
import { Logo, MapService } from '@supermap/iclient-mapboxgl';
export default {
    name: 'Mapbox',

    data () {
        return {
        
        }
    },
    mounted(){
        $.ajax({
            type: "GET",
            url: "http://www.zjditu.cn/vtiles/styles/tdt/streets.json",
            type: 'get',
            dataType: 'json',  // 请求方式为jsonp
            crossDomain: true,
            success: function(data){
                console.log(data);
                // var mapboxgl_style = 'http://www.zjditu.cn/vtiles/styles/tdt/dark.json';
                var map = new mapboxgl.Map({
                    container: 'map',
                    zoom: 12,
                    center: [120.15, 30.25],
                    renderWorldCopies: false,
                    localIdeographFontFamily: "'黑体','san-serif'",
                    pitch: 50,
                    bearing: -10,
                    style: {
                        "version": data.version,
                        "sources": data.sources,
                        "sprite": data.sprite,
                        "glyphs": data.glyphs,
                        "layers": data.layers
                    },
                    shading: 'realistic',
                    light: {
                        main: {
                            intensity: 0.5,
                            shadow: false
                        },
                        ambient: {
                            intensity: 0.2
                        },
                        ambientCubemap: {
                            exposure: 1,
                            diffuseIntensity: 0.5,
                            specularIntensity: 2
                        }
                    },
                    zlevel: 1
                });
                map.addControl(new mapboxgl.NavigationControl(), 'top-left');
            }          
        });
    }
}
</script>

<style scoped>
#map {
  position: absolute;
  height: 100%;
  width: 100%;
  background-color: white
}
</style>