当前位置: 首页 > 面试题库 >

使用AJAX控件的v7限制Bing地图上的最小/最大缩放?

傅浩漫
2023-03-14
问题内容

我正在使用Bing Maps AJAX控件v7的网站上工作。我需要做的一件事是限制缩放级别,以防止用户放大到某个级别或缩小到某个级别。

我在Map对象上找到一个“ getZoomRange”方法,对其进行检查后,它仅返回具有“ min”和“
max”属性的对象文字。因此,我认为重载可能会达到目的:

// "map" is our Bing Maps object
map.getZoomRange = function ()
{
  return {
    max:      14
    min:      5
  };
};

…但不是。它没有任何效果(实际上与使用默认仪表板时缩放滑块的外观有关)。

劫持事件并阻止其继续进行似乎也没有任何效果。


问题答案:

根据Bing Maps的支持,做到这一点的唯一方法(这不是特别优雅,并且会在地图上产生一些不受欢迎的抖动),如下所示:

// "map" is our Bing Maps object, overload the built-in getZoomRange function
// to set our own min/max zoom
map.getZoomRange = function ()
{
  return {
    max:      14,
    min:      5
  };
};

// Attach a handler to the event that gets fired whenever the map's view is about to change
Microsoft.Maps.Events.addHandler(map,'viewchangestart',restrictZoom);

// Forcibly set the zoom to our min/max whenever the view starts to change beyond them 
var restrictZoom = function ()
{
  if (map.getZoom() <= map.getZoomRange().min) 
  {
    map.setView({
      'zoom':       map.getZoomRange().min,
      'animate':    false
    });
  }
  else if (map.getZoom() >= map.getZoomRange().max) 
  {
    map.setView({
      'zoom':       map.getZoomRange().max,
      'animate':    false
    });
  }
};


 类似资料:
  • 问题内容: 我正在使用JVM标志运行Java进程,并看到以下输出: 有没有办法解决这个问题? 问题答案: 当无法满足Java堆的分配或永久生成时,命令行选项告诉HotSpot VM生成堆转储。使用此选项运行不会产生任何开销,因此对于OutOfMemoryError需要很长时间才能浮出水面的生产系统很有用。 为了解决您面临的特定问题,可以使用以下纠正措施之一: 措施1: XX:HeapDumpSeg

  • 问题内容: 我想限制a的最大大小,以对正在实现的各种哈希算法进行度量。我在的一个重载构造函数中查看了loadfactor 。 我尝试在构造函数中将loadFactor设置为0.0f(这意味着我不希望HashMap的大小从EVER增大),但将此无效: 还有另一种方法来限制它的大小,使其永远不会增长吗? 问题答案: 有时越简单越好。

  • 我在使用Wamp的工作场所安装了本地Wordpress,最大上传大小为3 MB。 根据我找到的解决方案,我从wamp菜单编辑了php.ini文件,增加了post_max_size32Mupload_max_filesize64M并重启服务器。 Wordpress管理区域的最大上传大小增加到10 MB,这是不够的,我不知道这个数字是从哪里来的。 我在wamp的php.ini文件中搜索短语,但没有找到

  • 问题内容: 我想返回该数字,只要它在限制范围内,否则返回限制的最大值或最小值。我可以结合使用和和。 我想知道,如果有一个现有的或我俯瞰功能。 如果第三方库很常见(例如Commons或Guava),则欢迎它们 问题答案: 从版本21开始,Guava包括(以及其他原语的等效方法)。从发行说明中: 添加了将给定值限制在和值定义的封闭范围内的方法。如果值在范围内,则返回值本身,如果值在范围内,则返回值,如

  • 我正在使用必应地图v8控件。 这里有一个片段: 您可以看到它在桌面上工作,方法是将上面的代码段粘贴到这里并点击run:https://www.bing.com/api/maps/sdk/mapcontrol/isdk/adddefaultpushpin#js 不幸的是,这个游乐场不允许你在移动模式下自定义脚本,当你在游乐场中来回切换chrome到移动时,行为不会重现(我可以通过在自己的应用程序中的

  • 用于在地图上生成点的数据, 我不知道前面该怎么做,请大家帮帮我。