@@ -131,10 +131,51 @@ public function fitToDraws(int $padding = 0)
131
131
foreach ($ this ->draws as $ draw ) {
132
132
$ points = \array_merge ($ points , $ draw ->getBoundingBox ());
133
133
}
134
+ return $ this ->fitToPoints ($ points , $ padding );
135
+ }
134
136
137
+ /**
138
+ * Fit map to draws.
139
+ *
140
+ * @param int $padding Padding in pixel
141
+ * @return $this Fluent interface
142
+ */
143
+ public function fitToMarkers (int $ padding = 0 )
144
+ {
145
+ $ points = [];
135
146
foreach ($ this ->markers as $ markers ) {
136
147
$ points = \array_merge ($ points , $ markers ->getBoundingBox ());
137
148
}
149
+ return $ this ->fitToPoints ($ points , $ padding );
150
+ }
151
+
152
+ /**
153
+ * Fit map to draws.
154
+ *
155
+ * @param int $padding Padding in pixel
156
+ * @return $this Fluent interface
157
+ */
158
+ public function fitToMarkersAndDraws (int $ padding = 0 )
159
+ {
160
+ $ points = [];
161
+ foreach ($ this ->draws as $ draw ) {
162
+ $ points = \array_merge ($ points , $ draw ->getBoundingBox ());
163
+ }
164
+ foreach ($ this ->markers as $ markers ) {
165
+ $ points = \array_merge ($ points , $ markers ->getBoundingBox ());
166
+ }
167
+ return $ this ->fitToPoints ($ points , $ padding );
168
+ }
169
+
170
+ /**
171
+ * Fit map to points.
172
+ *
173
+ * @param LatLng[] $points LatLng points
174
+ * @param int $padding Padding in pixel
175
+ * @return $this Fluent interface
176
+ */
177
+ public function fitToPoints (array $ points , int $ padding = 0 )
178
+ {
138
179
$ outputSize = $ this ->mapData ->getOutputSize ();
139
180
$ tileSize = $ this ->mapData ->getTileSize ();
140
181
$ boundingBox = MapData::getBoundingBoxFromPoints ($ points );
0 commit comments