代码之家  ›  专栏  ›  技术社区  ›  Deepika Rao

如何更改作为另一个对象内的值的对象的值

  •  -3
  • Deepika Rao  · 技术社区  · 9 年前

    var lineSymbol = {
        path: 'M 0,-1 0,1',
        strokeOpacity: 1,
        scale: 4,          
        strokeWeight: 2,
    };
    
    
    
    function addPolyline(props){    
        flightPath = new google.maps.Polyline({ 
            path: props.flightPath,
            geodesic: true,
            strokeColor: props.color,
            strokeOpacity: 0,
            icons: [{
                icon: lineSymbol,
                offset: '0',
                repeat: '20px'
            }]
        });
    }   
    
    addPolyline({
        flightPath: flightPlanCoordinates,
        color: "#f9a61e"
    });
    

    1 回复  |  直到 9 年前
        1
  •  1
  •   PA.    9 年前

    只需使用 props 传递所需值

    function addPolyline(props){  
       lineSymbol.strokeOpacity = props.symbolOpacity;   
       flightPath = new google.maps.Polyline({ 
        ...
    

    或者,如果您不想修改全局 lineSymbol

     function addPolyline(props){  
       var symbol = Object.assign({}, lineSymbol)
       symbol.strokeOpacity = props.symbolOpacity;   
       flightPath = new google.maps.Polyline({ 
         ...
         icons: [{
            icon: symbol,
    

    并调用

    addPolyline({
        flightPath: flightPlanCoordinates,
        color: "#f9a61e",
        symbolOpacity: 0.8
    });
    
    推荐文章