javascript - 使用具有不同投影的 ol3-google-maps

标签 javascript google-maps openlayers-3 ol3-google-maps

我想使用 GoogleMaps 和 OL3 创建 map 。我使用 ol3-google-maps 来做到这一点。它有效。但仅限于使用默认投影时。当我尝试使用其他投影(使用 proj4js)构建 map 时,却没有。 OSM 的相同代码可以正常工作。有人知道问题出在哪里吗?是 ol3-google-maps 吗?或者 GoogleMaps 有一些限制?

如果这是一个愚蠢的问题,请原谅我,但可能有几天我无法使用计算机 - 所以也不能自己挖掘。所以我希望有人能告诉我问题出在哪里。

    <script>

            proj4.defs("EPSG:2178","+proj=tmerc +lat_0=0 +lon_0=21 +k=0.999923 +x_0=7500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ");

            var extent = [3936040.28,4324573.90,7707927.89,9384064.69];

            var projection = ol.proj.get('EPSG:2178');

            projection.setExtent(extent);

            var googleLayer = new olgm.layer.Google();
            var view = new ol.View({
                projection: projection,
                center: [7466113.046828, 5959598.556178 ],
                zoom: 12
            });
            var map = new ol.Map({
                interactions: olgm.interaction.defaults()
                layers: [googleLayer],
                target: 'map',
                view: view
            });

            var olGM = new olgm.OLGoogleMaps({map: map});
            olGM.activate();
    </script>

谢谢!

最佳答案

Google Maps API(至少在 ol3-google-maps 中使用的)不支持除 Web Mercator (EPSG:3857) 之外的其他投影。

关于javascript - 使用具有不同投影的 ol3-google-maps,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41536006/

相关文章:

javascript - 这个奇怪的 JavaScript 素数检查函数是如何工作的?

javascript - latLng 返回空对象 - Google map javascript API

javascript - AngularJs 和 Google map 问题 : Not displaying markers?

javascript - 谷歌地图标记不会在 Firefox 上生成信息窗口

javascript - AngularJS 在 Controller 中共享函数/公共(public)代码

javascript - jquery 复选框选中更改值

javascript - 将一种类型的列表转换为另一种 RXJava? (相当于 JavaScript map )

javascript - 如何从 Openlayers 3 中的功能中获取图层?

javascript - GeoJSON 要素坐标未显示在 OpenLayers map 上

openlayers-3 - OpenLayers 3,静态图 block 和 XYZ 坐标