在angular-google-maps中,如何仅显示我的自定义图块?

腕骨

我可以显示自定义图块,但浏览器也在它们下面加载Google的标准地图图块。如果用户平移到边缘,这会降低性能,并使地图看起来很奇怪。任何想法如何防止法线贴图图层?

演示版

腕骨

最后,ui-gmap-map-type即使保留了parent,我仍然避免使用该指令ui-gmap-google-map相反,我等待google.maps$scope.map.control对象加载,然后使用该mapTypes.set()方法指向我自己的图像图块集。

index.html

<ui-gmap-google-map control='map.control'>
  <!-- marker & polygon directives -->
</ui-gmap-google-map>

controller.js

$scope.map = {
  control: {}
};

uiGmapGoogleMapApi.then(function(maps) {
    var moonMapType = new maps.ImageMapType({
      getTileUrl: function(coord, zoom) {
          var normalizedCoord = getNormalizedCoord(coord, zoom);
          if (!normalizedCoord) {
            return null;
          }
          var bound = Math.pow(2, zoom);
          return 'http://mw1.google.com/mw-planetary/lunar/lunarmaps_v1/clem_bw' +
              '/' + zoom + '/' + normalizedCoord.x + '/' +
              (bound - normalizedCoord.y - 1) + '.jpg';
      },
      tileSize: new maps.Size(256, 256),
      maxZoom: 9,
      minZoom: 0,
      radius: 1738000,
      name: 'Moon'
    });

    $scope.$watch("map.control", function( mapControl, emptyObj ) {
      mapControl.mapTypes.set('moon', moonMapType);
      mapControl.setMapTypeId('moon');
    });
  }

  // Normalizes the coords that tiles repeat across the x axis (horizontally)
  // like the standard Google map tiles.
  function getNormalizedCoord(coord, zoom) {
    var y = coord.y;
    var x = coord.x;

    // tile range in one direction range is dependent on zoom level
    // 0 = 1 tile, 1 = 2 tiles, 2 = 4 tiles, 3 = 8 tiles, etc
    var tileRange = 1 << zoom;

    // don't repeat across y-axis (vertically)
    if (y < 0 || y >= tileRange) {
      return null;
    }

    // repeat across x-axis
    if (x < 0 || x >= tileRange) {
      x = (x % tileRange + tileRange) % tileRange;
    }

    return {x: x, y: y};
  }
});

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Google Maps自定义图块加载缓慢

来自分类Dev

获取Google Maps API v3中自定义图块的中心LatLng点

来自分类Dev

如何在@ angular / google-maps模块中将Google地图标记图标替换为自定义图标

来自分类Dev

Angular Google Map的自定义样式

来自分类Dev

如何在Google地图上显示自定义矢量图块

来自分类Dev

如何在Google Maps API搜索结果中显示自定义地点?

来自分类Dev

如何使用Maptiler在Google Maps中显示图块

来自分类Dev

Google Maps Angular Js

来自分类Dev

在Angular JS中使用gMaps.js的Google Map“仅显示左上图块”

来自分类Dev

当我触摸屏幕时,Google Maps Android API v2仅显示图块

来自分类Dev

Google Maps API自定义图标标记不会显示

来自分类Dev

如何使用Google Maps API显示自定义标记以生成静态地图图像

来自分类Dev

自定义下拉列表仅显示所选值Angular

来自分类Dev

Google Maps API-获取我的自定义地图

来自分类Dev

如何在Android应用程序(Java)中创建自定义Google Maps样式

来自分类Dev

如何在自定义集群标记中打开 InfoWindow - Google Maps

来自分类Dev

Angular 2和Google自定义搜索。Angular2剥离html标签

来自分类Dev

如何在@ angular / google-maps InfoWindow中显示动态内容

来自分类Dev

我的自定义维度和指标没有显示在Google Analytics(分析)中?

来自分类Dev

我可以在 Chrome 自定义标签中显示带有 Google Adsense 的网页吗?

来自分类Dev

在Angular-Google-Maps中添加标记

来自分类Dev

Typescript或Angular 2中的Google Maps

来自分类Dev

如何将自定义Google搜索添加到我的自定义搜索框中?

来自分类Dev

如何将自定义Google搜索添加到我的自定义搜索框中?

来自分类Dev

自定义组件中的Angular preSelected选项未显示

来自分类Dev

如何在Google Map API中的自定义图标图像上显示标签

来自分类Dev

如何自定义在Google可视化图表中显示的工具提示

来自分类Dev

无法在Angular中显示Google图表

来自分类Dev

如何在日期框 Angular 中自定义显示文本?

Related 相关文章

  1. 1

    Google Maps自定义图块加载缓慢

  2. 2

    获取Google Maps API v3中自定义图块的中心LatLng点

  3. 3

    如何在@ angular / google-maps模块中将Google地图标记图标替换为自定义图标

  4. 4

    Angular Google Map的自定义样式

  5. 5

    如何在Google地图上显示自定义矢量图块

  6. 6

    如何在Google Maps API搜索结果中显示自定义地点?

  7. 7

    如何使用Maptiler在Google Maps中显示图块

  8. 8

    Google Maps Angular Js

  9. 9

    在Angular JS中使用gMaps.js的Google Map“仅显示左上图块”

  10. 10

    当我触摸屏幕时,Google Maps Android API v2仅显示图块

  11. 11

    Google Maps API自定义图标标记不会显示

  12. 12

    如何使用Google Maps API显示自定义标记以生成静态地图图像

  13. 13

    自定义下拉列表仅显示所选值Angular

  14. 14

    Google Maps API-获取我的自定义地图

  15. 15

    如何在Android应用程序(Java)中创建自定义Google Maps样式

  16. 16

    如何在自定义集群标记中打开 InfoWindow - Google Maps

  17. 17

    Angular 2和Google自定义搜索。Angular2剥离html标签

  18. 18

    如何在@ angular / google-maps InfoWindow中显示动态内容

  19. 19

    我的自定义维度和指标没有显示在Google Analytics(分析)中?

  20. 20

    我可以在 Chrome 自定义标签中显示带有 Google Adsense 的网页吗?

  21. 21

    在Angular-Google-Maps中添加标记

  22. 22

    Typescript或Angular 2中的Google Maps

  23. 23

    如何将自定义Google搜索添加到我的自定义搜索框中?

  24. 24

    如何将自定义Google搜索添加到我的自定义搜索框中?

  25. 25

    自定义组件中的Angular preSelected选项未显示

  26. 26

    如何在Google Map API中的自定义图标图像上显示标签

  27. 27

    如何自定义在Google可视化图表中显示的工具提示

  28. 28

    无法在Angular中显示Google图表

  29. 29

    如何在日期框 Angular 中自定义显示文本?

热门标签

归档