Javascript jQuery地图可重载
Javascript jQuery Map reloadable
以前也有人问过类似的问题,但有一些东西是我需要的,所有其他地图都不需要:
我如何设计一个可拖动的地图,但不是一个有限的区域,但有一个巨大的,其中部分需要在拖动过程中重新加载?
我应该把可拖动的div设置多大?一直到整个势能图?或者只比可见区域稍大一点,然后用动态偏移量重新加载滚动到视图中的部件?
提前感谢!
编辑:重新加载的部分(滚动到视图中)需要从服务器重新加载。这是一张1000x1000的地图,可见区域只有9x9。
好了,伙计们,既然没人想回答这个问题,我找到解决办法了。
知道地图的大小,使用具有相应尺寸的背景div不会导致任何性能问题,例如15,000x15000px甚至更大。只需创建一个父容器,将其设置为overflow: hidden;
,并将巨大的映射放入其中。最好将其位置设置为绝对,并通过调整边距来移动它。margin-top和margin-left属性可以通过JavaScript轻松修改。
同样,这个巨大的div可以有子元素。创建位置为relative
-ly的子元素,并用您想要在地图上显示的任何内容填充该相对元素,计算项目相对于世界左上角的距离。当地图被移动时,您可以检查页边距是否超过了某一点,如果超过了,则通过AJAX重新加载这些元素。
你的代码看起来或多或少是这样的:
<div id="viewport" style="overflow: hidden;">
<div id="map" style="position: absolute; width: 15000px; height: 15000px;">
<div id="container" style="position: relative;">
<div id="element_1" style="position: absolute; top: 70px; left: 100px; width: 10px; height: 10px;"></div>
<div id="element_2" style="position: absolute; top: 90px; left: 80px; width: 10px; height: 10px;"></div>
<div id="element_3" style="position: absolute; top: 60px; left: 10px; width: 10px; height: 10px;"></div>
<div id="element_4" style="position: absolute; top: 20px; left: 20px; width: 10px; height: 10px;"></div>
<div id="element_5" style="position: absolute; top: 50px; left: 50px; width: 10px; height: 10px;"></div>
</div>
</div>
</div>
它将是元素container
,然后您将通过AJAX重新提供与map
的边距相应的任何内容。
相关文章:
- 谷歌地图固定位置覆盖
- 不显示带有本地json文件数据的谷歌地图脚本
- 谷歌地图不是以HTML显示,而是在JS Fiddle上工作
- 谷歌地图标记不会显示
- 无法在JS中显示谷歌地图
- 科尔多瓦页面类应用程序中的多个谷歌地图
- 需要帮助谷歌地图方向面板在FancyBox中显示
- 是否可以控制获取哪些Google地图脚本(JavaScript API)
- 在谷歌地图上获取事件的x,y坐标
- 谷歌地图API v3不适用于移动浏览器或PhoneGap
- 模拟谷歌地图中的点击
- 如何知道哪个标记被谷歌地图点击了
- 谷歌地图JS API+JSON-多个标记没有显示
- 缓存谷歌地图数据
- 谷歌地图劫持了iphone's滚动(触摸事件)-如何恢复
- 单击超链接时,如何使用Google Maps API v3缩放地图
- 在谷歌地图上绘制位置数据库
- 如何重载陈旧的外部谷歌地图api javascript
- Javascript jQuery地图可重载
- 自动刷新/重载一个简单的地图