首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >限制在诺基亚地图中缩放( Javascript Api)

限制在诺基亚地图中缩放( Javascript Api)
EN

Stack Overflow用户
提问于 2013-11-06 00:09:54
回答 1查看 453关注 0票数 0

我已经使用java脚本Api实现了诺基亚地图。地图中有不同的缩放级别。

有没有办法可以将地图的视图限制在特定的国家?我的意思是,假设我用缩放级别初始化地图,这样我在地图上只能看到USA。但是用户可以缩小并查看不同的国家。我不想完全关闭缩放功能,因为我希望用户能够在美国境内放大和缩小。

我的map实现如下-

代码语言:javascript
运行
复制
       var map = new nokia.maps.map.Display(document.getElementById("map"),
       {           
         'components': [ new nokia.maps.map.component.ZoomBar(),
                         new nokia.maps.map.component.Behavior(),
                         new nokia.maps.map.component.DistanceMeasurement(),
                         new nokia.maps.map.component.Overview(),
                         new nokia.maps.map.component.ScaleBar(),
                         new nokia.maps.positioning.component.Positioning(),
                         new nokia.maps.map.component.ContextMenu(),
                         new nokia.maps.map.component.ZoomRectangle()],
            'zoomLevel':4   ,       
            'center':[39.8282, -98.5795]            
      });
EN

Stack Overflow用户

发布于 2013-11-06 17:46:37

要限制该区域,您需要编写一个事件侦听器,并侦听地图的"mapviewchangeend"事件。然后,如果映射center属性落在给定的边界框之外,侦听器可以更改该属性。若要限制缩放,请向zoomLevel属性添加一个观察者,并限制最大或最小级别。

理想情况下,由于此类功能是可重用的,因此应该将其创建为MapComponent并附加到地图上。

可在GitHub here上找到地图限制组件的示例(限制区域和缩放

可以按照如下方式进行初始化和使用:

代码语言:javascript
运行
复制
var bounds = new nokia.maps.geo.BoundingBox(
    new nokia.maps.geo.Coordinate(54.8073, 5.9845),
    new nokia.maps.geo.Coordinate(47.4136,14.3671)
);
restrictControl = new RestrictMap(5, 20, bounds);

map.components.add(restrictControl);

您只需更改边界以覆盖美国的地理坐标。

票数 2
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19793477

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档