2011-06-27 64 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'; 
    } 

这会给你带有美元符号的绿色标记。