2016-12-01 48 views
0

我想要實現的是當我創建一個新的標記時,它應該有不同的顏色。這是我的範圍。如何更改google map api可拖動標記的顏色?

$scope.addRoute = function() { 
    console.log('addRoute'); 
    var marker2 = new google.maps.Marker(
    { 
     position: {lat: 52.02, lng: 10.56}, 
     visible:true, 
     icon:'', 
     map: map, 
     draggable: true 
    });  

     directionsDisplay.setMap(map); 
}; 

回答

0

使用Symbols

在現有的$scope.addRoute功能代替icon:''使用generateIcon()

var marker = new google.maps.Marker({ 
     position : { 
      lat : 52.02, 
      lng : 10.56 
     }, 
     visible : true, 
     icon : generateIcon(), 
     map : map, 
     draggable : true 

    }); 

您需要在您控制器添加此功能。

function generateIcon() { 
    //http://map-icons.com/ for svg path 
    return { 

     path : 'M0-48c-9.8 0-17.7 7.8-17.7 17.4 0 15.5 17.7 30.6 17.7 30.6s17.7-15.4 17.7-30.6c0-9.6-7.9-17.4-17.7-17.4z', 
     scale : 0.5, 
     fillColor : '#' + (Math.random() * 0xFFFFFF << 0).toString(16), 
     fillOpacity : 100, 
    } 
} 
+0

100個不同的圖標,我如何加入到我的令人興奮範圍 – Frrank

+0

@Frrank增加了一些信息。希望能幫助到你。 – Searching

+0

問題是@搜索這個範圍是在控制器工作的人沒有使用指令 – Frrank

0

您可以使用圖標與所需的顏色:

var marker2 = new google.maps.Marker(
{ 
    position: {lat: 52.02, lng: 10.56}, 
    visible:true, 
    icon:'', 
    map: map, 
    draggable: true 
}); 

marker2.setIcon('https://maps.google.com/mapfiles/ms/icons/blue-dot.png'); 

var marker3 = new google.maps.Marker(
{ 
    position: {lat: 62.02, lng: 12.56}, 
    visible:true, 
    icon:'', 
    map: map, 
    draggable: true 
}); 

marker3.setIcon('https://maps.google.com/mapfiles/ms/icons/red-dot.png') 

或者你也可以從URL中直接更改顏色:

http://chart.apis.google.com/chart?chst=d_map_pin_letter&chld=%E2%80%A2|FE7569 
+0

該解決方案將影響業績的可以說你需要你就不會僅僅依靠增加他們這樣的方式對2個標記,這是最好 – Frrank

相關問題