问题:什么情况加载1x.png 什么情况加载2x.png?
Mapbox会根据设备的像素密度来加载对应分辨率的sprite
比如,如果你的设备是1x分辨率的屏幕,那么Mapbox会自动加载1x的sprite图片;
如果你的设备是2x分辨率的屏幕(如iPhone的Retina屏),那么Mapbox会自动加载2x的sprite图片,以保证显示效果。
同时,如果你提供了多个分辨率的sprite图片,Mapbox也会通过优先级来选择加载的图片
问题:图标在高分辨率下显示过大
如果你在高分辨率屏幕上使用1x的sprite图片,那么图标会在显示的时候被放大,导致显示过大的效果。这是因为在高分辨率屏幕上,每个像素包含的点数比低分辨率屏幕要多,因此图标的实际大小会在屏幕上被放大。
为了解决这个问题,你可以提供2x、3x或者更高分辨率的sprite图片,以保证图标在高分辨率屏幕下能够正常显示。同时,在加载图片的时候,可以使用Mapbox提供的pixelRatio参数来指定加载哪种分辨率的图片。比如,如果你的设备是2x分辨率的屏幕,可以将pixelRatio设置为2,这样Mapbox就会自动加载2x分辨率的sprite图片,并按照正确的比例显示图标,避免了过大的问题。