<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Infinity Code Forum — Preload tiles around a marker]]></title>
		<link>https://forum.infinity-code.com/viewtopic.php?id=608</link>
		<atom:link href="https://forum.infinity-code.com/extern.php?action=feed&amp;tid=608&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[The most recent posts in Preload tiles around a marker.]]></description>
		<lastBuildDate>Fri, 21 Jul 2017 16:34:34 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: Preload tiles around a marker]]></title>
			<link>https://forum.infinity-code.com/viewtopic.php?pid=2642#p2642</link>
			<description><![CDATA[<p>Great ! Thanks never saw such a fast support <img src="https://forum.infinity-code.com/img/smilies/big_smile.png" width="15" height="15" alt="big_smile" /></p>]]></description>
			<author><![CDATA[null@example.com (genar)]]></author>
			<pubDate>Fri, 21 Jul 2017 16:34:34 +0000</pubDate>
			<guid>https://forum.infinity-code.com/viewtopic.php?pid=2642#p2642</guid>
		</item>
		<item>
			<title><![CDATA[Re: Preload tiles around a marker]]></title>
			<link>https://forum.infinity-code.com/viewtopic.php?pid=2639#p2639</link>
			<description><![CDATA[<p>Hello.</p><p>We&#039;ve added quite good way to do it.<br />Example (for Online Maps v2.5.14+):<br /></p><div class="codebox"><pre><code>using System.Collections.Generic;
using UnityEngine;

public class PreloadTilesAroundMarker:MonoBehaviour
{
    public int countTilesX = 3; 
    public int countTilesY = 3;
    public int zoomOffset = 2;

    private Dictionary&lt;ulong, OnlineMapsTile&gt; tiles;
    private OnlineMapsMarker marker;
    private OnlineMaps map;

    private void OnGUI()
    {
        if (GUILayout.Button(&quot;Preload&quot;))
        {
            StartPreloading();
        }
    }

    private void Start()
    {
        map = OnlineMaps.instance;
        marker = map.AddMarker(map.position);

        tiles = new Dictionary&lt;ulong, OnlineMapsTile&gt;();
    }

    private void StartPreloading()
    {
        foreach (KeyValuePair&lt;ulong, OnlineMapsTile&gt; pair in tiles)
        {
            pair.Value.Unblock(this);
        }

        tiles.Clear();

        double lng, lat;
        marker.GetPosition(out lng, out lat);

        int zoom = map.zoom - zoomOffset;
        if (zoom &lt; 3) zoom = 3;

        double tx, ty;
        map.projection.CoordinatesToTile(lng, lat, zoom, out tx, out ty);

        int itx = (int) tx;
        int ity = (int) ty;

        int sx = itx - (countTilesX - 1) / 2;
        int sy = ity - (countTilesY - 1) / 2;

        int max = 1 &lt;&lt; zoom;

        for (int x = sx; x &lt; sx + countTilesX; x++)
        {
            itx = x;
            if (itx &lt; 0) itx += max;
            else if (itx &gt;= max) itx -= max;

            for (int y = sy; y &lt; sy + countTilesY; y++)
            {
                if (y &lt; 0 || y &gt; max) continue;

                ulong key = OnlineMapsTile.GetTileKey(zoom, itx, y);
                OnlineMapsTile parentTile = OnlineMapsTile.GetTile(zoom - 1, itx / 2, y / 2);
                OnlineMapsTile tile = new OnlineMapsTile(itx, y, zoom, map, parentTile);
                tile.Block(this);
                tiles[key] = tile;
            }
        }
    }
}</code></pre></div><p>The new version will be available soon.</p>]]></description>
			<author><![CDATA[null@example.com (Alex Vertax)]]></author>
			<pubDate>Fri, 21 Jul 2017 13:03:56 +0000</pubDate>
			<guid>https://forum.infinity-code.com/viewtopic.php?pid=2639#p2639</guid>
		</item>
		<item>
			<title><![CDATA[Preload tiles around a marker]]></title>
			<link>https://forum.infinity-code.com/viewtopic.php?pid=2634#p2634</link>
			<description><![CDATA[<p>Hey there !</p><p>Is it somehow possible to preload tiles around a marker ? Is there already a script for that or do i Need to Code such a System on my own ? ^^</p>]]></description>
			<author><![CDATA[null@example.com (genar)]]></author>
			<pubDate>Thu, 20 Jul 2017 08:27:30 +0000</pubDate>
			<guid>https://forum.infinity-code.com/viewtopic.php?pid=2634#p2634</guid>
		</item>
	</channel>
</rss>
