2016-12-20 3 views
0

У меня есть карта с лифтом с номером select. select содержит местоположение с координатами в качестве значения.Листовка: Изменение центра карты, если выбрано смену

При изменении select карта должна перезагрузить и изменить центр карты в зависимости от значения выбора.

Вот мой код:

var coor =[11.5303, 122.6842]; 
 
var mymap = L.map('mapid').setView(coor, 13); 
 

 
       L.tileLayer('https://api.tiles.mapbox.com/v4/{id}/{z}/{x}/{y}.png?access_token=pk.eyJ1IjoibWFwYm94IiwiYSI6ImNpandmbXliNDBjZWd2M2x6bDk3c2ZtOTkifQ._QA7i5Mpkd_m30IGElHziw', { 
 
maxZoom: 18, 
 

 
id: 'mapbox.streets' 
 
}).addTo(mymap); 
 

 

 
mymap.on('click', onMapClick);
<link href="https://unpkg.com/[email protected]/dist/leaflet.css" rel="stylesheet"/> 
 
<script src="https://unpkg.com/[email protected]/dist/leaflet.js"></script> 
 

 

 
<div style="border:1px solid grey; width:500px;height:310px; margin:0 auto; margin-top:20px;"> 
 
<select id="loc" onchange="change_map()"> 
 
    <option value="[11.5529, 122.7407]">Roxas City</option> 
 
    <option value="[11.5303, 122.6842]">Ivisan</option> 
 
</select> 
 
<div id="mapid" style="width: 100%; height: 100%;"></div> 
 
</div>

ответ

1

я не мог делать то, что вы хотите с помощью value = "[11.5529, 122.7407]" в стоимости опциона.

Прежде всего, измените value тега select. Например:

<select id="loc" onchange="change_map()"> 
    <option value="1">Roxas City</option> 
    <option value="2" selected>Ivisan</option> 
</select> 

В функции onchange сделать это:

// onchange function (this format makes the function global) 
window.change_map = function(){ 
    // Get the select element 
    var e = document.getElementById("loc"); 
    // Get the value of the selected index 
    var v = e.value; 

    // Verify the value and set the map to the new center 
    if(v == "1"){ mymap.setView([11.5529, 122.7407], zoom); } 
    else if(v == "2") { mymap.setView([11.5303, 122.6842], zoom); } 
} 

Вот JSFiddle example.

Любое другое предложение будет оценено.

Надеюсь, что я был полезным.

+0

Хорошо, если он отличается от моего кода. , и спасибо за ответ. он работает. =) –

+0

Добро пожаловать. Я рад, что это сработало. –