2014-11-05 2 views
-1

Я знаю, что мой синтаксис здесь некорректен, но я не могу представить правильный синтаксис для создания разных цветных маркеров на основе диапазона. Это то, что я сейчас и все мои маркеры отображаются зеленым цветом (blank_g.png)создание маркеров в Javascript на основе диапазонов

function createMarker(point,info,map,mag) { 

     var colorMarker = "blank_g.png" //for mag < 4 

     if (mag >= 4.0 && mag < 5.0) { 
     colorMarker = "blank_b.png"; 
     } 
     else if (mag >= 5.0 && mag < 6.0) { 
     colorMarker = "blank_p.png"; 
     } 
     else if (mag >= 6.0 && mag < 7.0) { 
     colorMarker = "blank_y.png"; 
     } 
     else if (mag >= 7.0 && mag < 8.0) { 
     colorMarker = "blank_o.png"; 
     } 
     else if (mag >= 8.0) { 
     colorMarker = "blank_r.png"; 
     } 
+1

где/как создать маркеры, как вы называете эту функцию? –

+1

Каковы значения, предоставляемые функции createMarker для 'mag'? Все ли они меньше 4.0? Просьба указать [Минимальный, полный, проверенный и читаемый пример] (http://stackoverflow.com/help/mcve) – geocodezip

+0

Нет Есть некоторые, которые находятся между 4 и 5. Сценарий вытаскивает данные здесь: http://earthquake.usgs.gov/earthquakes/map/#%7B%22feed%22%3A%221day_m25%22%2C%22search%22%3Anull%2C%22sort%22%3A%22newest%22%2C%22basemap%22 % 3A% 22grayscale% 22% 2C% 22autoUpdate% 22% 3Atrue% 2C% 22restrictListToMap% 22% 3Atrue% 2C% 22timeZone% 22% 3A% 22local% 22% 2C% 22mapposition% 22% 3A% 5B% 5B-44,84029065139799% 2C -219,0234375% 5D% 2C% 5B81.2550322990594% 2C-25,3125% 5D% 5D% 2C% 22overlays% 22% 3A% 7B% 22plates% 22% 3Atrue% 7D% 2C% 22viewModes% 22% 3A% 7B% 22map% 22 % 3Atrue% 2C% 22list% 22% 3Atrue% 2C% 22settings% 22% 3Atrue% 2C% 22help% 22% 3Afalse% 7D% 7D – niklas24

ответ

0
function CreateMarker (point, info, map, mag) 
{ 
    // Recommended: Check value of mag for range 

    var imageNames = 
    [ 
     "blank_g.png", 
     "blank_g.png", 
     "blank_g.png", 
     "blank_g.png", 
     "blank_b.png", 
     "blank_p.png", 
     "blank_y.png", 
     "blank_o.png", 
     "blank_r.png", 
    ]; 

    var imageIndex = Math.max(0, Math.min(Math.floor(mag), imageNames.length - 1)); 
    var imgBaseUrl = "/images/"; // Or whatever your path is. 
    var imgSrc = imageBaseUrl + imageNames[imageIndex]; 

    var marker = new google.maps.Marker 
    ({ 
     icon: MarkerIconUrl(imgSrc), 
     map: map, 
     position: point, 
     title: info 
    }); 

    return marker; 
} 

function MarkerIconUrl (imgSrc) 
{ 
    return new google.maps.MarkerImage(imgSrc); 
} 

function MarkerIconUrlByRgb (color) 
{ 
    return new google.maps.MarkerImage("http://chart.apis.google.com/chart?chst=d_map_pin_letter&chld=%E2%80%A2|" + color); 
} 
Смежные вопросы