2017-10-21 58 views
-1

我试图在谷歌地图中按照组合框的选择收费differents路径,但它不工作,我使用了一个if,但通过这种方式,地图不会不收取折线。 这是HTML代码:Polyline在Google地图中根据Combobox Dinamically更改

<body> 


    <section id="mapa"> 
    </section> 

    <section id="formulario"> 
     <form action="index.html" id="seleccion"> 
     <select name="Continente" id="continente" > 
     <option value="">--Selecciona--</option> 
     <option value="NorteAmerica">Norte America</option> 
     <option value="CentroAmerica">Centroamerica</option> 
     <option value="SurAmerica">Suramerica</option> 
     <option value="Europa">Europa</option> 
     <option value="Oceania">Oceania</option> 
     <option value="Africa">Africa</option> 
    </select> 

    <select name="pagina" id="pagina"> 
     <option value="">--Selecciona--</option> 
     <option value="Google">Google</option> 
     <option value="Youtube">Youtube</option> 
     <option value="Facebook">Facebook</option> 
     <option value="Wikipedia">Wikipedia</option> 
     <option value="Baidu">Baidu</option> 
    </select> 
    <input type="submit" value="Hacer Traceroute" id="boton"/> 
</form> 
</section> 

JavaScript是在这里:

var traza = []; 
var facebookNorteAmerica1 = [ 
    {lat:37.7749 , lng:-122.4194}, 
    {lat:40.7199 , lng:-74.0050}, 
    {lat:37.4419 , lng:-122.1430}, 
    {lat:37.4419 , lng:-122.1430}, 
    {lat:37.3394 , lng:-121.8950}, 
    {lat:37.3394 , lng:-121.8950}, 
    {lat:37.3394 , lng:-121.8950} 
    ]; 

var baiduNorteAmerica1 = [ 
    {lat:37.7749 , lng:-122.4194}, 
    {lat:40.7199 , lng:-74.0050}, 
    {lat:37.7749 , lng:-122.4194}, 
    {lat:37.3394 , lng:-121.8950}, 
    {lat:37.3394 , lng:-121.8950}, 
    {lat:41.8558 , lng:123.9233}, 
    {lat:39.9075 , lng:116.3972}, 
    {lat:39.9075 , lng:116.3972}, 
    {lat:34.7725 , lng:113.7266}, 
    {lat:23.1167 , lng:113.2500} 
    ]; 

function initMap() { 
    var map = new google.maps.Map(document.getElementById('mapa'), { 
    zoom: 3, 
    center: {lat: 0, lng: -180}, 
    mapTypeId: 'terrain' 
}); 

$("#boton").click(function(){ 
    var continente = $("#continente").val(); 
    var pagina = $("#pagina").val(); 

    if (continente == "Norte America" && pagina=="Baidu") { 
    traza = baiduNorteAmerica1; 
    }else{ 
    traza = facebookNorteAmerica1; 
    } 
}); 

var flightPath = new google.maps.Polyline({ 
    path:traza, 
    geodesic: true, 
    strokeColor: '#4800ff', 
    strokeOpacity: 1.0, 
    strokeWeight: 1 
    }); 



    flightPath.setMap(map); 
} 

我知道大概错误是jQuery的,因为continente和pagina最初是 “”,但我真诚地不知道如何获得这些值,当我点击html按钮。问题是总是显示facebookNorteAmerica的折线(它转到else)。并且始终为地图重新充电。也许是一个业余爱好者,但我需要帮助。谢谢

回答

0

替换:

if (continente == "Norte America" && pagina=="Baidu") { 

由:

if (continente == "NorteAmerica" && pagina=="Baidu") { 
+0

感谢ü,我没有注意到。如何地图不断充电,我做了一个console.log打印这些值。这显示我NorteAmerica和百度,并迅速充值所有的选择/组合框,现在的值不明确... –

+0

替换: 作者: 2017-10-21 18:47:54