【问题标题】:open modal with marker leaflet bootstrap 3带有标记传单引导程序 3 的打开模式
【发布时间】:2013-12-05 15:38:30
【问题描述】:

我得到了在模态工作中显示的地图。现在我有一个新问题。我有不同的对象,我会将标记的坐标存储在 id 中。

像这样:

<a href="#eintrag" id="[48.20682894891699, 16.370315551757812]" role="button" class="btn btn-primary" data-toggle="modal">Open Map</a>

这也会打开带有地图的模式。 然后我有这个:

    var map = L.map('map', {
        center: new L.LatLng(48.20682894891699, 16.370315551757812),
        zoom: 14,
        maxBounds: bounds
    });

    jQuery(document).on("click", "a", function (event) {
        id =jQuery(this).attr('id') || '';
        console.log(id);                    
    }); 

    L.marker(id).addTo(map);

谁能帮我解决这个问题? - 地图是空白的:( 帮助非常感谢!

【问题讨论】:

  • 您是否要在地图上添加标记?比如地图上的一个点位置?我不确定您的方法是什么,但您当然不想将 Lat/Lng 放在元素的 ID 中。无论您想要实现什么,都有更好的方法。请更具体,以便我提出建议。

标签: twitter-bootstrap modal-dialog leaflet marker


【解决方案1】:

对于初学者来说有两件事:

  1. 当它是undefined 时,你想使用id(你在点击a 时创建它)
  2. 您不能使用字符串id 来初始化标记,您可以使用eval() 修复它

Is this what you wanted?

顺便说一句。对于存储数据,您可以使用data-id 而不是id

【讨论】:

    【解决方案2】:

    你得到的值是字符串,试试 eval() -

    var map = L.map('map', {
        center: new L.LatLng(48.20682894891699, 16.370315551757812),
        zoom: 14,
        maxBounds: bounds
    });
    
    jQuery(document).on("click", "a", function (event) {
        id =jQuery(this).attr('id');
        console.log(id);                    
    }); 
    
    L.marker(eval(id)).addTo(map);
    

    【讨论】:

      猜你喜欢
      • 2022-12-18
      • 2013-08-25
      • 1970-01-01
      • 2015-08-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多