<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
xmlns:content="http://purl.org/rss/1.0/modules/content/"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:atom="http://www.w3.org/2005/Atom"
xmlns:sy="http://purl.org/rss/1.0/modules/syndication/">
	<channel>
		<title>Creating Custom Markers on Google Maps in Flutter Apps | Infinum</title>
		<atom:link href="https://infinum.com/blog/creating-custom-markers-on-google-maps-in-flutter-apps/feed/" rel="self" type="application/rss+xml" />
		<link>https://infinum.com/blog/creating-custom-markers-on-google-maps-in-flutter-apps/</link>
		<description>Building digital products</description>
		<lastBuildDate>Thu, 23 Apr 2026 13:14:19 +0000</lastBuildDate>
		<sy:updatePeriod>hourly</sy:updatePeriod>
		<sy:updateFrequency>1</sy:updateFrequency>

					<item>
				<image>
					<url>7887https://infinum.com/uploads/2019/11/creating-custom-markers-on-google-maps-in-flutter-apps-0.webp</url>
				</image>
				<title>Creating Custom Markers on Google Maps in Flutter Apps</title>
				<link>https://infinum.com/blog/creating-custom-markers-on-google-maps-in-flutter-apps/</link>
				<pubDate>Tue, 26 Nov 2019 13:45:00 +0000</pubDate>
				<dc:creator>Josip Krnjić</dc:creator>
				<guid isPermaLink="false">https://infinum.com/the-capsized-eight/creating-custom-markers-on-google-maps-in-flutter-apps/</guid>
				<description>
					<![CDATA[<p>When you are trying to show maps in your Flutter application, you can either use flutter_map or google_maps_flutter.</p>
<p>The post <a href="https://infinum.com/blog/creating-custom-markers-on-google-maps-in-flutter-apps/">Creating Custom Markers on Google Maps in Flutter Apps</a> appeared first on <a href="https://infinum.com">Infinum</a>.</p>
]]>
				</description>
				<content:encoded>
					<![CDATA[<div
	class="wrapper"
	data-id="es-190"
	 data-animation-target='inner-items'>
		
			<div class="wrapper__inner">
			<div class="block-blog-content js-block-blog-content">
	
<div class="block-blog-content-sidebar" data-id="es-92">
	</div>

<div class="block-blog-content-main">
	
<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-95"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-93">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-94'
	>
	When it comes to showing maps in your Flutter application, there are two main options. You can either use <a href="https://pub.dev/packages/flutter_map"><code>flutter_map</code></a> which is a Leaflet implementation for Flutter and will work with a number of free and paid map providers, or use <a href="https://pub.dev/packages/google_maps_flutter"><code>google_maps_flutter</code></a> if you want the more popular Google Maps.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-98"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-96">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-97'
	>
	For this blog post, I will be using <code>google_maps_flutter</code>, which is made and maintained by the Flutter team at Google.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-101"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-99">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-100'
	>
	If this is your first time using Google Maps I recommend checking out Google <a href="https://codelabs.developers.google.com/codelabs/google-maps-in-flutter/">codelab</a> for maps in Flutter. What I needed was to draw some custom markers like those in the image below.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-104"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-media">
	<div	class="media block-media__media media__border--none media__align--center-center"
	data-id="es-102"
	 data-media-type='image'>

	<figure class="image block-media__image-figure image--size-auto" data-id="es-103">
	<picture class="image__picture block-media__image-picture">
												<img
					src="https://infinum.com/uploads/2021/12/creating-custom-markers-on-google-maps-in-flutter-apps-1.webp"
					class="image__img block-media__image-img"
					alt=""
										height="349"
															width="464"
										loading="lazy"
					 />
					</picture>

			<figcaption class="image__figcaption block-media__image-figcaption">
			Example of what we are trying to achieve		</figcaption>
	</figure></div></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-107"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-105">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-106'
	>
	You would expect that you could pass a <code>Widget</code> for marker, just like when using anything else in Flutter. But it’s not that easy as <code>Marker</code> accepts <code>BitmapDescriptor</code> for the icon. I’m going to explain how you can achieve that.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-110"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-heading" data-id="es-108">
	<h3	class='typography typography--size-36-text js-typography block-heading__heading'
	data-id='es-109'
	>
	The Native way</h3></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-113"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-111">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-112'
	>
	What is the <a href="https://developers.google.com/android/reference/com/google/android/gms/maps/model/BitmapDescriptor"><code>BitmapDescriptor</code></a>? If you’ve ever worked with iOS or Android native Google Maps SDK this will not surprise you.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-116"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-114">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-115'
	>
	<code>BitmapDescriptor</code> is an object that defines bitmap which can then be used by Google Maps to draw it on a map. It is used in both platforms and it’s the only way you can add custom icons for markers. So, this limitation comes from the native Google Maps SDK which <code>google_maps_flutter</code> uses, as there is no full flutter implementation for a complex widget like maps yet.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-119"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-117">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-118'
	>
	<code>BitmapDescriptor</code> will accept an asset image or a bitmap. For our case, marker text is dynamic, so static asset image is not a good fit. As for a bitmap, in native Android/iOS there’s a way to convert your <code>View</code> to <code>Bitmap</code> (or <code>UIView</code> to <code>UIImage</code>) and you can pass that to <code>BitmapDescriptor</code>.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-122"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-heading" data-id="es-120">
	<h3	class='typography typography--size-36-text js-typography block-heading__heading'
	data-id='es-121'
	>
	The Flutter way</h3></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-125"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-123">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-124'
	>
	You can do it the same way in the Flutter, but it’s a bit trickier. Mostly because you cannot inflate/load a widget somewhere on the side and convert that to bitmap. You need to draw a widget in the screen view hierarchy and then fetch its painted bitmap.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-128"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-126">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-127'
	>
	The key thing you need to know is that each <code>Widget</code> is more like data class and you access bitmap in its associated <a href="https://api.flutter.dev/flutter/rendering/RenderObject-class.html"><code>RenderObject</code></a>, which gets created during the build phase.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-131"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-heading" data-id="es-129">
	<h3	class='typography typography--size-36-text js-typography block-heading__heading'
	data-id='es-130'
	>
	1. Getting the <code>RenderObject</code></h3></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-134"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-132">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-133'
	>
	Draw your widget to the screen. This is from some widgets build method that will inflate our markers. We use <a href="https://api.flutter.dev/flutter/widgets/GlobalKey-class.html"><code>GlobalKey</code></a> so we have reference to this widget after it’s built.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-136"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-code">
	<pre class="phiki language-java github-light" data-language="java" style="background-color: #fff;color: #24292e;"><code><span class="line"><span class="token">
</span></span><span class="line"><span class="token" style="color: #d73a49;">final</span><span class="token"> markerKey </span><span class="token" style="color: #d73a49;">=</span><span class="token"> </span><span class="token" style="color: #6f42c1;">GlobalKey</span><span class="token">(</span><span class="token">)</span><span class="token">;</span><span class="token">
</span></span><span class="line"><span class="token" style="color: #d73a49;">return</span><span class="token"> </span><span class="token" style="color: #6f42c1;">RepaintBoundary</span><span class="token">(</span><span class="token">
</span></span><span class="line"><span class="token">  key</span><span class="token" style="color: #d73a49;">:</span><span class="token"> markerKey</span><span class="token">,</span><span class="token">
</span></span><span class="line"><span class="token">  child</span><span class="token" style="color: #d73a49;">:</span><span class="token"> customMarkerWidget</span><span class="token">,</span><span class="token">
</span></span><span class="line"><span class="token">)</span><span class="token">;</span><span class="token">
</span></span><span class="line"><span class="token">
</span></span></code></pre></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-139"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-137">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-138'
	>
	Now you can put that <code>GlobalKey</code> to use after the widget is built:</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-141"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-code">
	<pre class="phiki language-java github-light" data-language="java" style="background-color: #fff;color: #24292e;"><code><span class="line"><span class="token">
</span></span><span class="line"><span class="token" style="color: #24292e;">markerKey</span><span class="token">.</span><span class="token" style="color: #24292e;">currentContext</span><span class="token">.</span><span class="token" style="color: #6f42c1;">findRenderObject</span><span class="token">(</span><span class="token">)</span><span class="token">;</span><span class="token">
</span></span><span class="line"><span class="token">
</span></span></code></pre></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-144"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-heading" data-id="es-142">
	<h3	class='typography typography--size-36-text js-typography block-heading__heading'
	data-id='es-143'
	>
	2. Converting to Uint8List</h3></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-147"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-145">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-146'
	>
	<a href="https://api.dartlang.org/stable/2.6.1/dart-typed_data/Uint8List-class.html"><code>Uint8List</code></a> is basically a list of unsigned integers that represents bitmap in this case as there is no special Bitmap class in the dart. <code>BitmapDescriptor</code> will also accept <code>Uint8List</code> so we need to do some converting to get from <code>RenderObject</code> to <code>Uint8List</code>. I have all that in the following method:</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-149"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-code">
	<pre class="phiki language-java github-light" data-language="java" style="background-color: #fff;color: #24292e;"><code><span class="line"><span class="token">
</span></span><span class="line"><span class="token" style="color: #24292e;">Future</span><span class="token" style="color: #d73a49;">&lt;</span><span class="token">Uint8List</span><span class="token" style="color: #d73a49;">&gt;</span><span class="token"> </span><span class="token" style="color: #6f42c1;">getUint8List</span><span class="token">(</span><span class="token" style="color: #24292e;">GlobalKey</span><span class="token"> markerKey</span><span class="token">)</span><span class="token"> async </span><span class="token">{</span><span class="token">
</span></span><span class="line"><span class="token">  </span><span class="token" style="color: #24292e;">RenderRepaintBoundary</span><span class="token"> </span><span class="token" style="color: #24292e;">boundary</span><span class="token"> </span><span class="token" style="color: #d73a49;">=</span><span class="token">
</span></span><span class="line"><span class="token">  </span><span class="token" style="color: #24292e;">markerKey</span><span class="token">.</span><span class="token" style="color: #24292e;">currentContext</span><span class="token">.</span><span class="token" style="color: #6f42c1;">findRenderObject</span><span class="token">(</span><span class="token">)</span><span class="token">;</span><span class="token">
</span></span><span class="line"><span class="token">  </span><span class="token" style="color: #d73a49;">var</span><span class="token"> </span><span class="token" style="color: #24292e;">image</span><span class="token"> </span><span class="token" style="color: #d73a49;">=</span><span class="token"> await </span><span class="token" style="color: #24292e;">boundary</span><span class="token">.</span><span class="token" style="color: #6f42c1;">toImage</span><span class="token">(</span><span class="token">pixelRatio</span><span class="token" style="color: #d73a49;">:</span><span class="token"> </span><span class="token" style="color: #005cc5;">2.0</span><span class="token">)</span><span class="token">;</span><span class="token">
</span></span><span class="line"><span class="token">  </span><span class="token" style="color: #24292e;">ByteData</span><span class="token"> </span><span class="token" style="color: #24292e;">byteData</span><span class="token"> </span><span class="token" style="color: #d73a49;">=</span><span class="token"> await </span><span class="token" style="color: #24292e;">image</span><span class="token">.</span><span class="token" style="color: #6f42c1;">toByteData</span><span class="token">(</span><span class="token">format</span><span class="token" style="color: #d73a49;">:</span><span class="token"> </span><span class="token" style="color: #24292e;">ui</span><span class="token">.</span><span class="token" style="color: #24292e;">ImageByteFormat</span><span class="token">.</span><span class="token" style="color: #24292e;">png</span><span class="token">)</span><span class="token">;</span><span class="token">
</span></span><span class="line"><span class="token">  </span><span class="token" style="color: #d73a49;">return</span><span class="token"> </span><span class="token" style="color: #24292e;">byteData</span><span class="token">.</span><span class="token" style="color: #24292e;">buffer</span><span class="token">.</span><span class="token" style="color: #6f42c1;">asUint8List</span><span class="token">(</span><span class="token">)</span><span class="token">;</span><span class="token">
</span></span><span class="line"><span class="token">}</span><span class="token">
</span></span><span class="line"><span class="token">
</span></span></code></pre></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-152"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-heading" data-id="es-150">
	<h3	class='typography typography--size-36-text js-typography block-heading__heading'
	data-id='es-151'
	>
	3. When is widget finished with the build?</h3></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-155"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-153">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-154'
	>
	I’ve shown you how to get <code>RenderObject</code> and convert it to <code>Uint8List</code>, but when do you call this method?</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-158"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-156">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-157'
	>
	We need to get our bitmaps right after they are drawn. There are multiple ways to do this, I use tiny <code>AfterLayoutMixin</code> available <a href="https://pub.dev/packages/after_layout">here</a>.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-160"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-code">
	<pre class="phiki language-java github-light" data-language="java" style="background-color: #fff;color: #24292e;"><code><span class="line"><span class="token">
</span></span><span class="line"><span class="token">@</span><span class="token" style="color: #d73a49;">override</span><span class="token">
</span></span><span class="line"><span class="token" style="color: #d73a49;">void</span><span class="token"> </span><span class="token" style="color: #6f42c1;">afterFirstLayout</span><span class="token">(</span><span class="token" style="color: #24292e;">BuildContext</span><span class="token"> context</span><span class="token">)</span><span class="token"> </span><span class="token">{</span><span class="token">
</span></span><span class="line"><span class="token">  </span><span class="token" style="color: #6f42c1;">getUint8List</span><span class="token">(</span><span class="token">markerKey</span><span class="token">)</span><span class="token">.</span><span class="token" style="color: #6f42c1;">then</span><span class="token">(</span><span class="token">(</span><span class="token">markerBitmap</span><span class="token">)</span><span class="token"> </span><span class="token" style="color: #d73a49;">=</span><span class="token" style="color: #d73a49;">&gt;</span><span class="token">
</span></span><span class="line"><span class="token">    </span><span class="token" style="color: #6a737d;">//</span><span class="token" style="color: #6a737d;"> Set state and use your markerBitmap</span><span class="token" style="color: #6a737d;">
</span></span><span class="line"><span class="token">  </span><span class="token">)</span><span class="token">;</span><span class="token">
</span></span><span class="line"><span class="token">}</span><span class="token">
</span></span><span class="line"><span class="token">
</span></span></code></pre></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-163"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-heading" data-id="es-161">
	<h3	class='typography typography--size-36-text js-typography block-heading__heading'
	data-id='es-162'
	>
	4. Create the Marker</h3></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-166"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-164">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-165'
	>
	There you have it. Create the <code>Marker</code> with <code>Uint8List</code> and plug it into the Google Map:</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-168"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-code">
	<pre class="phiki language-java github-light" data-language="java" style="background-color: #fff;color: #24292e;"><code><span class="line"><span class="token">
</span></span><span class="line"><span class="token" style="color: #6f42c1;">Marker</span><span class="token">(</span><span class="token">
</span></span><span class="line"><span class="token">    position</span><span class="token" style="color: #d73a49;">:</span><span class="token"> position</span><span class="token">,</span><span class="token">
</span></span><span class="line"><span class="token">    icon</span><span class="token" style="color: #d73a49;">:</span><span class="token"> </span><span class="token" style="color: #24292e;">BitmapDescriptor</span><span class="token">.</span><span class="token" style="color: #6f42c1;">fromBytes</span><span class="token">(</span><span class="token">markerUint8List</span><span class="token">)</span><span class="token">
</span></span><span class="line"><span class="token">)</span><span class="token">
</span></span><span class="line"><span class="token">
</span></span></code></pre></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-171"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-169">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-170'
	>
	You should end up with something like this:</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-174"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-media">
	<div	class="media block-media__media media__border--none media__align--center-center"
	data-id="es-172"
	 data-media-type='image'>

	<figure class="image block-media__image-figure image--size-auto" data-id="es-173">
	<picture class="image__picture block-media__image-picture">
												<img
					src="https://infinum.com/uploads/2021/12/creating-custom-markers-on-google-maps-in-flutter-apps-2.webp"
					class="image__img block-media__image-img"
					alt=""
										height="568"
															width="670"
										loading="lazy"
					 />
					</picture>

			<figcaption class="image__figcaption block-media__image-figcaption">
			That looks like a fun roadtrip		</figcaption>
	</figure></div></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-177"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-175">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-176'
	>
	I have extracted all this in one simple-to-use class <code>MarkerGenerator</code>. It’s a bit more advanced than the guide explained here. It uses an <a href="https://api.flutter.dev/flutter/widgets/Overlay-class.html"><code>overlay</code></a> to build marker widgets and provide <code>List&lt;Uint8List&gt;</code> through the callback. The gist is available <a href="https://gist.github.com/itsJoKr/ce5ec57bd6dedf74d1737c1f39481913">here</a>.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-180"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-178">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-179'
	>
	Copy it to your project. Then you use <code>MarkerGenerator</code> this way:</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-182"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-code">
	<pre class="phiki language-java github-light" data-language="java" style="background-color: #fff;color: #24292e;"><code><span class="line"><span class="token">
</span></span><span class="line"><span class="token">@</span><span class="token" style="color: #d73a49;">override</span><span class="token">  </span><span class="token" style="color: #d73a49;">void</span><span class="token"> </span><span class="token" style="color: #6f42c1;">initState</span><span class="token">(</span><span class="token">)</span><span class="token"> </span><span class="token">{</span><span class="token">    
</span></span><span class="line"><span class="token">    </span><span class="token" style="color: #005cc5;">super</span><span class="token">.</span><span class="token" style="color: #6f42c1;">initState</span><span class="token">(</span><span class="token">)</span><span class="token">;</span><span class="token">     
</span></span><span class="line"><span class="token">    </span><span class="token" style="color: #6f42c1;">MarkerGenerator</span><span class="token">(</span><span class="token">markerWidgets</span><span class="token">,</span><span class="token"> </span><span class="token">(</span><span class="token">bitmaps</span><span class="token">)</span><span class="token"> </span><span class="token">{</span><span class="token">      
</span></span><span class="line"><span class="token">        </span><span class="token" style="color: #6f42c1;">setState</span><span class="token">(</span><span class="token">(</span><span class="token">)</span><span class="token"> </span><span class="token">{</span><span class="token">        
</span></span><span class="line"><span class="token">            markers </span><span class="token" style="color: #d73a49;">=</span><span class="token"> </span><span class="token" style="color: #6f42c1;">mapBitmapsToMarkers</span><span class="token">(</span><span class="token">bitmaps</span><span class="token">)</span><span class="token">;</span><span class="token">      
</span></span><span class="line"><span class="token">        </span><span class="token">}</span><span class="token">)</span><span class="token">;</span><span class="token">    
</span></span><span class="line"><span class="token">    </span><span class="token">}</span><span class="token">)</span><span class="token">.</span><span class="token" style="color: #6f42c1;">generate</span><span class="token">(</span><span class="token">context</span><span class="token">)</span><span class="token">;</span><span class="token">  
</span></span><span class="line"><span class="token">}</span><span class="token">
</span></span><span class="line"><span class="token">
</span></span></code></pre></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-185"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-heading" data-id="es-183">
	<h3	class='typography typography--size-36-text js-typography block-heading__heading'
	data-id='es-184'
	>
	Time flies, Flutter saves it</h3></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-188"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-186">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-187'
	>
	When working in Flutter, some things take more time as opposed to writing them in native Android/iOS, as it happened this time with custom map markers. But overall, I believe that Flutter is definitely a timesaver and a great choice for most apps.</p></div>	</div>
</div>
</div>		</div>
	</div><p>The post <a href="https://infinum.com/blog/creating-custom-markers-on-google-maps-in-flutter-apps/">Creating Custom Markers on Google Maps in Flutter Apps</a> appeared first on <a href="https://infinum.com">Infinum</a>.</p>
]]>
				</content:encoded>
			</item>
		
	</channel>
</rss>