谷歌地图忽略视网膜图标的标记大小

时间:2015-05-13 23:08:56

标签: size google-maps-markers

我有一张由高级自定义字段驱动的Google地图。我创建了一个iconType来指示哪个图标用作标记,具体取决于自定义字段。

我的标记图像是80像素正方形,但我想强制它们为视网膜原因的40像素正方形。我已经尝试了很多我通过谷歌等找到的代码变体,但没有任何作用,大小被忽略显示我的标记在更大的80px。我的猜测是因为我有2个图标取决于iconType?

任何人都可以帮助我将这些标记的大小强制为40px square ...

function add_marker( $marker, map ) {

// var
var latlng = new google.maps.LatLng( $marker.attr('data-lat'), $marker.attr('data-lng'));
var iconType = $marker.attr('data-icon');
var iconBase = '<?php echo get_template_directory_uri(); ?>/assets/';
var size = new google.maps.Size(40, 40);

if (iconType === 'Costa') {
    iconName = 'costa@2x.png';
} else {
    iconName = 'starbucks@2x.png';
}

// create marker
var marker = new google.maps.Marker({
    position    : latlng,
    map         : map,
    clickable: false,
    animation: google.maps.Animation.DROP,

    icon: iconBase + iconName,
});

// add to array
map.markers.push( marker );

// if marker contains HTML, add it to an infoWindow
if( $marker.html() )
{
    // create info window
    var infowindow = new google.maps.InfoWindow({
        content     : $marker.html()
    });
} 

}

1 个答案:

答案 0 :(得分:0)

我最近做了类似的事情,我相信您需要使用新的Icon对象来指定自定义Icon属性,并使用sizescaledSize属性。我按照本指南修正了我的问题:

How to add retina ready pin marker to your Google maps?