【问题标题】:Google map ignoring marker size for retina icons谷歌地图忽略视网膜图标的标记大小
【发布时间】:2015-06-04 13:32:10
【问题描述】:

我有一张由高级自定义字段驱动的 Google 地图。我创建了一个 iconType 来根据自定义字段指定哪个图标用作标记。

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

谁能帮我将这些标记的大小强制为 40px 正方形...

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()
    });
} 

}

【问题讨论】:

    标签: size google-maps-markers


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-04-27
      • 1970-01-01
      • 2015-09-20
      • 2020-02-21
      • 1970-01-01
      • 1970-01-01
      • 2016-11-23
      相关资源
      最近更新 更多