当前位置: 首页 > 知识库问答 >
问题:

带有桌面js侧栏菜单的传单js用于地图

林泰平
2023-03-14

我对leaflet.js很陌生,我在网上搜索了一遍,但没有找到一个这样的例子。我试图获得的是一个与tabletop.js一起工作的侧边栏菜单。我希望能够在地图上没有标记,直到有人点击侧栏菜单项。然后,地图应该平移,缩放到该标记,或在窗口中居中。

我的示例页面位于:https://codepen.io/justawebbie/pen/lmdynv

以下是我的HTML:

<div id="mapwrap">
 <div id="toolbar">
    <div class="hamburger">
      <span>Tour&nbsp;Stops</span>
    </div>
    <div id="tourstops">
      <h2>Tour Stops</h2>
      <ul>
      </ul>
    </div>
     </div>
  <div id="leafletmap"></div>
</div>

这是我的传单和桌面JS:

 $('#toolbar .hamburger').on('click', function() {
     $(this).parent().toggleClass('open');
 });

 var a;
 var code_1 = '1rw2Dsm4AbNx6RihhXXxaCIipSH0n09iHYaMoDWLGe38';

 var mymap = L.map('leafletmap', {
     zoomControl: false
 });
 var mapTiles = 
   L.tileLayer('http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {
      maxZoom: 19,
      attribution: '&copy; <a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a>'
    });

 mapTiles.addTo(mymap);
 mymap.setView([64.856426,-147.834147], 12);
 new L.Control.Zoom({
    position: 'topright'
  }).addTo(mymap);

 var buildingLayers = L.layerGroup().addTo(mymap);
 var markers = L.layerGroup();        
 a = Tabletop({
     key: code_1,
     callback: function(sheet, tabletop){ 
         for (var i in sheet){
            var place = sheet[i];
            var $listItem = $('<li>').html(place.title).appendTo('#toolbar ul');
            $listItem.on('click', function(){
                markers.clearLayers();
                const marker = L.marker([place.lat, place.lon])
                .bindPopup("<div class='row' style='width:300px;'><div class='col'><p><span style='font-size:1.2em;color: #236192;font-weight:bold;'>" + place.title + "</span><br />" + place.address + "</p><p><a href='" + place.weburl + "'>View more</a></p></div></div>")
                markers.addLayer(marker).addTo(mymap);
              })
           }
      },
      simpleSheet: true 
});             

共有1个答案

西门经国
2023-03-14

您可以查看以下内容:http://franceimage.github.io/

你会发现一些关于它如何工作的提示(点击侧栏中的字母I)

它使用侧边栏和传单,但不使用桌面。

数据以json文件的形式提供(所以所有的过滤都是在客户端完成的)

应用程序是老式的JavaScript:http://franceimage.github.io/map/explore.js

当您单击侧边栏中的一个项目时,它不会自动将地图居中。它是通过点击弹出窗口中的图标来完成的。您可以轻松地自动执行此操作。

 类似资料:
  • 主要内容:ion-side-menu-content,ion-side-menu,menu-toggle,menu-close,$ionicSideMenuDelegate一个容器元素包含侧边菜单和主要内容。通过把主要内容区域从一边拖动到另一边,来让左侧或右侧的侧栏菜单进行切换。 效果图如下所示: 用法 要使用侧栏菜单,添加一个父元素<ion-side-menus>,一个中间内容 <ion-side-menu-content>,和一个或更多 <ion-side-menu> 指令。 尝试一下 »

  • 一个容器元素包含侧边菜单和主要内容。通过把主要内容区域从一边拖动到另一边,来让左侧或右侧的侧栏菜单进行切换。 效果图如下所示: 用法 要使用侧栏菜单,添加一个父元素<ion-side-menus>,一个中间内容 <ion-side-menu-content>,和一个或更多 <ion-side-menu&gt 指令。 <ion-side-menus> <!-- 中间内容 --> <ion-

  • 本文向大家介绍简单实现js菜单栏切换效果,包括了简单实现js菜单栏切换效果的使用技巧和注意事项,需要的朋友参考一下 分享一个小案例,实现菜单栏的切换,点击左侧边栏,展示右侧主体的页面,供大家参考,具体内容如下 首先实现html页面的编写: 其次是css效果实现: 最后一步运用简单的js实现点击左侧边栏选项,展示右侧主体区域: 综上一个简单的菜单切换就实现了。 更多菜单效果点击《JavaScript

  • 问题内容: 我想知道是否有最佳实践/正确的方法来为React组件设置右键菜单。 我目前有这个… 可以,但是感觉有点混乱,我想知道是否还有其他方法可以使用,任何信息将不胜感激, 谢谢! 问题答案: 更新: 想通了-这是您可以做的 在渲染中,您可以将函数传递给onContextMenu,以使该react组件发生右键单击。

  • 在我的JSF应用程序与Primeface 5.3中,我有一个SseltOneMenu,其中包含SseltItemGroup条目,其中条目需要翻译。 我的XHTML代码片段: 这里我使用进行翻译,但始终会显示Bean类中生成的标签,而不会显示我的资源包中已翻译的字符串! 我的Bean类代码片段: 它也不工作,如果我不使用像这样的选择对象组: 使用这样的枚举工作: 捆绑包属性: 我到底做错了什么?

  • 本文向大家介绍基于jQuery实现左侧菜单栏可折叠功能,包括了基于jQuery实现左侧菜单栏可折叠功能的使用技巧和注意事项,需要的朋友参考一下 今天给大家介绍一下左侧菜单栏可折叠功能,在后台管理中左侧菜单折叠功能是特别常见的一个功能,基本不管是什么类型的管理后台都会涉及到这个功能的实现。 今天给大家介绍的是二级可折叠菜单的功能,相对一级的菜单折叠功能就显得稍微比较复杂一点了,我这里将给大家介绍菜单