That was like Running maps locally. My first guess was it must be serving from some super local cdn cache. So tried looking for the data serving domain. It feels even more awesome after looking at latency number.<p>This is loading all data from maps.wikimedia.org.<p>Tracing route to maps.wikimedia.org [103.102.166.240]
over a maximum of 30 hops:<p><pre><code> 1 <1 ms 3 ms 2 ms 192.168.1.1
2 7 ms 6 ms 6 ms abts-north-static-076.220.160.122.airtelbroadband.in [122.160.220.76]
3 8 ms 5 ms 9 ms 125.17.2.173
4 7 ms 10 ms 6 ms 182.79.181.72
5 51 ms 51 ms 65 ms 182.79.149.237
6 47 ms 50 ms 47 ms 182.79.198.2
7 73 ms 73 ms 72 ms 182.79.224.181
8 73 ms 73 ms 72 ms 14907.sgw.equinix.com [27.111.228.186]
9 79 ms 79 ms 93 ms upload-lb.eqsin.wikimedia.org [103.102.166.240]
</code></pre>
Now Google Maps seems to be serving all data from root domain www.google.co.in. So here we go.<p>Tracing route to www.google.co.in [172.217.167.35]
over a maximum of 30 hops:<p><pre><code> 1 <1 ms 1 ms 1 ms 192.168.1.1
2 8 ms 5 ms 6 ms abts-north-static-076.220.160.122.airtelbroadband.in [122.160.220.76]
3 6 ms 6 ms 5 ms 125.18.20.57
4 10 ms 7 ms 6 ms 72.14.205.93
5 42 ms 44 ms 42 ms 108.170.251.113
6 8 ms 7 ms 14 ms 72.14.234.117
7 8 ms 7 ms 7 ms del03s16-in-f3.1e100.net [172.217.167.35]
</code></pre>
So even after getting additional latency penalty of ~60ms, it still feels snappier! Imaging it could be even more faster with local CDN nodes. 60ms = ~3 Frames on 60Hz Monitor refresh rate.
Personally, I've been really annoyed with the slow, unresponsive Google Maps on my phone when my reception gets a little bad. I'd definitely like to try comparing this against Google Maps with the same poor connection (packet loss). The 25kb compared to 200kb for Google Maps makes a huge difference! Actual rendering speed seems a lot faster as well, which is another huge plus on my dated smartphone.
What are the cost implications for using this (in terms of the backend maps providers)? I looked at MapBox's pricing, for example. Does that still apply when using this? Presumably so but I find the distinctions a bit confusing in the JS maps world.
This looks like really great work.<p>Completely unrelated and irrelevant observation though... I found the use of buttons to mimic checkboxes feels a bit odd to me.<p>Also, Github repo link for those who want to see the source or star it, since there is no link on the demo right now: <a href="https://github.com/mariusandra/pigeon-maps" rel="nofollow">https://github.com/mariusandra/pigeon-maps</a>
A lot of people seem to be saying this is incredibly fast, but for me it loads only about as fast as android Google maps and the pinch-zoom/pan are incredibly choppy with massive input lag.
Isn’t React an external dependency with a host of dependencies of its own needed to build? Or does this mean it only depends on React and nothing else?
How did I miss this a week ago? Looks great!<p>I recently whipped up a quick hobby project where I'm displaying a map on an old kindle by running wkhtmltoimage on a server and displaying the png. It's got a giant delay in responding with a lot of it due to Mapbox initialization time.
Does anyone know if it is ok to deploy tiles used by this library inside intranet, in sites without internet access? If so, what is the recommended way of doing it?
nice, this is one of those things you clone immediately<p>speaking of which, why do people debate about whether forks on github are persistent even when the author removes their copy, when you can always clone either way, since that keeps a copy on your system and you still have the code
There’s not much point to use react for something like this. If you know the map canvas size and tile size of your tiles, you simply need to initialize that many images in your container. That only ever changes when the map canvas size changes or the tile size changes. Pans and zooms of the map only change the src of the images at that point.
first impression was epic but there's something wobbly with the interaction or is it just me? sometimes scrolling goes to hell and same for panning