2011-06-27 101 views
1

我正在使用jmapping插件在Google地圖中顯示地點。如何更改所有圖標的默認圖標,我閱讀了GM Api文檔,但我無法理解如何執行此操作?使用Jmapping更改標記圖標

謝謝! PS我沒有任何代碼只是在我的本地。

回答

1

我還沒有能夠完成替代圖標,但我可以改變顏色使用此example

<div id="map"></div> 

<div id="map-side-bar"> 
    <div class="map-location" data-jmapping="{id: 1, point: {lng: -122.2678847, lat: 37.8574888}, category: 'market'}"> 
    <a href="#" class="map-link">Berkeley Bowl</a> 
    <div class="info-box"> 
     <p>A great place to get all your groceries, especially fresh fruits and vegetables.</p> 
    </div> 
    </div> 
    <div class="map-location" data-jmapping="{id: 2, point: {lng: -122.4391131, lat: 37.7729943}, category: 'restaurant'}"> 
    <a href="#" class="map-link">Nopalito</a> 
    <div class="info-box"> 
     <p>The best authentic Mexican restaurant in San Francisco.</p> 
    </div> 
    </div> 
    <div class="map-location" data-jmapping="{id: 3, point: {lng: -122.4481651, lat: 37.8042096}, category: 'museum'}"> 
    <a href="#" class="map-link">Exploratorium</a> 
    <div class="info-box"> 
     <p>A hands-on museum of science, art, and human perception in San Francisco.</p> 
    </div> 
    </div> 
</div> 

以及相應的jQuery的電話:

$(document).ready(function(){ 
    $('#map').jMapping({ 
    category_icon_options: { 
     'restaurant': {color: '#E8413A'}, 
     'museum': {color: '#465AE0'}, 
     'default': {color: '#7CDF65'} 
    } 
    }); 
}); 
+0

是的,我做到了,但沒有爲我們的問題anwser:謝謝! –

3

今天有這個同樣的問題。我完成了...

$(document).ready(function(){ 

    $('#map').jMapping({ 

    category_icon_options: function(category){ 

     if (category.match('your-cat-name')) { 

       return new google.maps.MarkerImage('path to your image'); 

      } 


     } 

    }); 

}); 

可能不是最優雅的解決方案。我爲每個點有不同的圖形,因此您可以根據類別名稱將其保留或擴展。

3

在顯示地圖的頁面,放在與開始你的JavaScript地圖代碼如下:

$('#map').jMapping({ 

你想包括一個空白類別匹配的圖標選項線像這樣

category_icon_options: { 
    '': {color: '#E8413A'} 

在StyledMarker.js中,找到以下幾行代碼:

getURL: function(props){ 
    var _url; 
    var starcolor_=props.get('starcolor'); 
    var text_=props.get('text'); 
    var color_=props.get('color').replace(/#/,''); 
    var fore_=props.get('fore').replace(/#/,''); 
    if (starcolor_) { 
    _url = bu_ + 'd_map_xpin_letter&chld=pin_star|'; 
    } else { 
    _url = bu_ + 'd_map_pin_letter&chld='; 
    } 

更改最後一個lin e在單引號與選項之間的所需圖標代碼之間。例如:

} else { 
    _url = bu_ + 'd_map_xpin_icon&chld=pin_sleft|bank-dollar|52B552'; 
    } 

這會給你帶有美元符號的綠色標記。