|
|
@@ -76,11 +76,10 @@ impl MarkerLayer {
|
|
76
|
76
|
self.program.set_vertex_attribs(cx, &self.buffer);
|
|
77
|
77
|
}
|
|
78
|
78
|
|
|
79
|
|
- pub fn draw(
|
|
|
79
|
+ pub fn draw_mercator(
|
|
80
|
80
|
&mut self,
|
|
81
|
81
|
cx: &mut Context,
|
|
82
|
82
|
map_view: &MapView,
|
|
83
|
|
- viewport_size: (u32, u32),
|
|
84
|
83
|
dpi_factor: f64,
|
|
85
|
84
|
snap_to_pixel: bool
|
|
86
|
85
|
) {
|
|
|
@@ -89,8 +88,8 @@ impl MarkerLayer {
|
|
89
|
88
|
let marker_size = vec2::<f64>(40.0, 50.0) * dpi_factor;
|
|
90
|
89
|
let marker_offset = vec2::<f64>(-20.0, -50.0) * dpi_factor;
|
|
91
|
90
|
|
|
92
|
|
- let scale_x = 2.0 / viewport_size.0 as f32;
|
|
93
|
|
- let scale_y = -2.0 / viewport_size.1 as f32;
|
|
|
91
|
+ let scale_x = 2.0 / map_view.width as f32;
|
|
|
92
|
+ let scale_y = -2.0 / map_view.height as f32;
|
|
94
|
93
|
|
|
95
|
94
|
let tex_mat: Matrix3<f32> = Matrix3::from_cols(
|
|
96
|
95
|
vec3(marker_size.x as f32, 0.0, 0.0),
|
|
|
@@ -112,8 +111,8 @@ impl MarkerLayer {
|
|
112
|
111
|
let visible_rect = ScreenRect {
|
|
113
|
112
|
x: -(marker_offset.x + marker_size.x),
|
|
114
|
113
|
y: -(marker_offset.y + marker_size.y),
|
|
115
|
|
- width: f64::from(viewport_size.0) + marker_size.x,
|
|
116
|
|
- height: f64::from(viewport_size.1) + marker_size.y,
|
|
|
114
|
+ width: map_view.width + marker_size.x,
|
|
|
115
|
+ height: map_view.height + marker_size.y,
|
|
117
|
116
|
};
|
|
118
|
117
|
|
|
119
|
118
|
for map_pos in &self.positions {
|