为什么 ymaps 函数看不到坐标?
jQuery:
ymaps.ready(init);
var lat = $(this).data('LA');
var long = $(this).data('LO');
function init (lat, long)
{
var myMap = new ymaps.Map('map',
{
center: [lat, long],
zoom: 9,
controls: ["zoomControl", "fullscreenControl"]
});
}
HTML:
<h1>Orders</h1>
<script src="https://api-maps.yandex.ru/2.1/?lang=ru_RU" type="text/javascript"></script>
<table class="table table-striped"> <thead>
<tr>
<th>ID</th>
<th>Customer</th>
<th>Status</th>
</tr>
</thead>
<tbody>
<tr data-toggle="modal" data-LA="30" data-LO="40" data-target="#orderModal">
<td>1</td>
<td>24234234</td>
<td>A</td>
</tr>
<tr data-toggle="modal" data-LA="35" data-LO="45" data-target="#orderModal">
<td>2</td>
<td>24234234</td>
<td>A</td>
</tr>
<tr data-toggle="modal" data-LA="40" data-LO="50" data-target="#orderModal">
<td>3</td>
<td>24234234</td>
<td>A</td>
</tr>
</tbody>
</table>
<div id="orderModal" class="modal hide fade" role="dialog" aria-labelledby="orderModalLabel" aria-hidden="true">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">x</button>
<h3>Order</h3>
</div>
<div class="modal-body">
<div id="map" style="width: 600px; height: 400px"></div>
</div>
<div class="modal-footer">
<button class="btn" data-dismiss="modal" aria-hidden="true">Close</button>
</div>
</div>
全局变量 lat 和 long 在 init map 函数中可见,无需进一步操作:http: //jsfiddle.net/Lof0p1qg/
但是,您无法正确使用地图。它从一开始就被初始化并以隐藏模式呈现。为此,她需要尚未准备好的中心坐标。
您应该从一开始就设置基本坐标,而不是在单击表格之后。因此,有必要为其设置至少一些起始中心,以消除误差。并且在未来,通过setCenter组织地图中心的变化。