New Map APIs from Google
cloud.google.com
cloud.google.com
Beyond the free tier and 200$ credit, prices are so insane that they would make Musk and that Reddit CEO blush. Have a look yourself:
https://mapsplatform.google.com/pricing/#pricing-grid
Hosting the simplest of maps (static map) cost 2$ per 1,000 requests. Imagine you integrate such a map into content. Even for smaller projects it's not uncommon to get traffic into the hundreds of thousands or even millions on a monthly basis. I'm talking page views, not unique visitors. That would set you back hundreds per month or even 1,000$. Just to show a bloody map. Actually, not a map. It's a static picture of a map.
Add some basic map interactivity, even just things like pins using the JavaScript API, and it becomes 7 times more expensive than that. I'm not kidding.
Say you make a map with pins showing current wildfires. Now consider this costing 14$ per every 1,000 requests. Do the math of your page gaining some basic popularity. 100,000 page hits? Not a big deal. That'll be 1,400$ please.
In most projects you want your map to be more useful. Add (reverse) geocoding, place details, etc. That's 3 APIs. Assuming equal usage, that's over 5,000$.
In one month. For a smallish audience. To enable fairly basic functionality. You can rent a goddamn Mercedes AMG for that kind of money.
Or you can have a webpage that serves useful information to 100,000 people.
Google Maps data quality has been tailing off. I encounter missing roads that are on the county parcel viewer and in OpenStreetMaps yet Google couldn't be bothered to ingest this public data. These roads aren't new, you can go back and look at county GIS exports from a decade ago and the road is there in the exact same place.
I’ve struggled to find a good source of location specific pollen forecasting and historical data. The historical data is probably the most important for me because it would allow me to start taking medication weeks before the first pollen event, allowing for maximum therapeutic effect.
I’m probably going to try to build something for myself later today and see if I can get the kind of data I’d like to see out of it.
I am considering building a map related app on MapBox API.
Alternatively, there's the OSS "OpenLayers": https://openlayers.org/en/latest/examples/
https://mapdwell.com/en/solar/dc
This is the data that I took to my building's HOA board when proposing we retrofit our rooftop with solar.
More sun but a lot of dust can be less efficient than less sun but no dust.
And obviously one of the underrated advantages: It is not Google.
> Google launches applications based on BreezoMeter acquisition
> BreezoMeter, acquired by Google last year for $225 million, develops technology for predicting environmental hazards related to air quality and its impact on health.
I basically just want a data dump of their whole map, like OSM provides, but I understand why they don't want to do that...
So instead give me access to the whole maps database to run bigquery queries over it, and make me pay per record I touch or record in the result set.
I'd love to be able to answer questions like "How far, on average, are my customers home addresses from the nearest footpath?", or "What percentage of residential addresses in the UK have an ATM within 1 mile", or "Give me a route from A to B, but not via any unpaved streets", or "Give me a list of the 100 biggest cities that have no ice rinks".
And sure, a user agreement is a way to litigate after the fact (assuming you catch them in the act) but once they have the data it doesn't matter.
For their solar API for example, they know how much time solar surveyors spend getting roof profiles, and they can therefore price their product to maximize revenue.
However if they just let you access all the data for any usecase, there will be plenty of people who pay Google a few bucks for data that might cost millions of dollars to obtain any other way.
Then I had to find closest addresses up to a limit.
https://github.com/punnerud/rgcosm
Some some also build on it with parameters: https://github.com/BlackCatDevel0per/rgcosm
There are lots of other reasons and it’s easy to jump to Google wanting to protect their data, but creating correctly usable APIs is a generally applicable reason that is perhaps more charitable.
SELECT business_name, business_phone FROM pois WHERE business_type = 'bank' and place_review_count > 10 ORDER BY distance(Location('New York'), location) ASC LIMIT 10;
Doesn't seem particularly hard for users to use 'right' - most people using an API will have some technical background and be able to use that.
A realtor who stands to make $10,000 on a house sale might happily pay a few bucks to know the nearest schools, shops, bus stops, broadband availability etc for a property listing, but only want to do one or two searches per week.
A lawyer closing the sale of a house might happily pay $50 for a report on flood risks and nearby planned developments, if it's the most reliable data available.
At the other end of the spectrum, finding the nearest EV chargers for a vehicle navigation system? Users don't pay per search in vehicle navigation systems, even a tenth of a cent per search is too much.
Companies who are willing to talk to their customers resolve this by the sales team drawing up a different contract, and maybe even a completely different pricing scheme, for every customer. But as Google wouldn't deign to talk to a customer over a mere $100k/year they don't have this option.
From a practical perspective, structured map data often ends up with a ridiculously complicated schema, to accurately represent a reality where rules can be arbitrarily complicated. There are roads which don't allow 'trade or business vehicles except permit holders and taxis'; other roads change direction depending on the time of day; a junction might have some legal turn restrictions which don't apply to emergency vehicles, but some physical or logical turn restrictions which do. A schema complex enough to represent that sort of thing correctly will be hard to query.
Have you tried understanding all the possible things that you can get in 'address_components' depending on the input params, the region you are querying from, the region you results are coming from, the geopolitical situation on that data, the entity that was matched etc etc
https://developers.google.com/maps/documentation/geocoding/r...
https://developers.google.com/maps/documentation/geocoding/r...
Don't forget entities in side of other entities like businesses within a mall.
Don't forget that the user might want a specific service from the bank. The "bank" label doesn't tell you if they accept street traffic, have live tellers, are just an ATM or a corporate office etc etc.
What if there was a data source that went into this from a third party? What if that third party had requirements about the timeline of removing data? This could be because it contained user-generated content and something was found to be offensive or even illegal, or it could be because it contained something proprietary that needed to be correctly licenced, all sorts of possibilities.
If you provide a data dump, you then need any integrators to add a data refresh process. That's an additional step that many won't do. Now you can't honour contracts or potentially legal requirements.
Sure you can document this, sure you can put it in contracts, but that may not be enough.
Having used APIs, I don't really care if the organization who built it thinks I'm using it "incorrectly" as long as I'm getting the data out of it that I want. As long as I'm paying for it, I honestly don't think they have the right to say I'm doing it "wrong."
Building the API in such a way that it was hard for clients to get this wrong was a very key concern for us.
Separately though, I gave a better motivating example in my other reply here. tldr: what you might be paying for may come with stipulations that are not clear in the data – such as how up to date data is when used. Those stipulations may come through many layers of data source, not necessarily from the layer you pay.
That's the way I think about it for stable APIs. But for API that are under constant development, using it "incorrectly" often results in your feature being inadvertently broken by developers who are unaware of your use case.
If you use OSM, please consider contributing back by either spreading word or adding more data to the map itself.
I'd love to but it would eat into my work time and I'd get a bad performance review.
Here in the Czech Republic, a combination of OSM and official data (ZABAGED) is the best bet, somewhere else it could be Google's data, if they made it available.
With GraphHopper you can customize routes in many different ways and e.g. prefer paved roads: https://graphhopper.com/maps/?point=50.963703%2C13.777981&po...
Click on the gear button in the top left to see, edit and disable the customization.
Also the Isochrone or Shortest Path Tree (spt) API can be used to answer "How far, on average, are my customers home addresses from the nearest footpath?" or "What percentage of residential addresses in the UK have an ATM within 1 mile" (fetch the ATM locations e.g. via overpass or a reverse Geocoding API)
Note, that I'm one of the founders of GraphHopper.
Business data can likewise be methodologically downloaded, thousands of businesses per user account per day doesn't hit their rate limits.
The polygons of roads and stuff are also easily extracted from a browser.
And the Android/iOS mobile apps allow you to 'download for offline use', which is obfusticated but not properly encrypted.
Charging $1 per 1000 records for API access would cost massive amounts for a competitor to download all the data - and besides, maps data is fairly easy to hide a few erroneous entries in and catch anyone using the data to start a clone of Google Maps.
Google doesn't allow to store the data permanently. Just because it's technically possible doesn't make it legal.
From the Google Places API terms "you must not pre-fetch, index, store, or cache any Content except under the limited conditions stated in the terms"
"You can display Places API results on a Google Map, or without a map. If you want to display Places API results on a map, then these results must be displayed on a Google Map. It is prohibited to use Places API data on a map that is not a Google map."
IIRC the important thing was that horrible CFAA law can't be brought into consideration because the supreme court shot that down.
Surely google has a lot more stuff than what the webapp shows.
My motivation is that there seems to be some consistency issues with the backend. I save a spot, and then it gets reverted. Given that I have over 6,000 spots saved, it’s impossible to keep track of when Google didn’t commit or, worst, reverted a past pin.
I’m pretty OCD about n%-completion of my travels.
We have a small backyard operation that I want to scale to support a lifestyle, then have passive income as well.
I'd be hard-pressed to consider Google unless I needed some of the specialized GIS data that they carry.
Just dug in a bit more and found this: https://tempo.si.edu/data.html Which links to https://ofmpub.epa.gov/rsig/rsigserver?index.html which is offline.
Announcing the Pollen API - https://news.ycombinator.com/item?id=37304803 - Aug 2023 (79 comments)
Submitters: "Please submit the original source. If a post reports on something found on another site, submit the latter." - https://news.ycombinator.com/newsguidelines.html
That's all for a personal project but I've seen Google Maps costs spiral out of control at 2 different companies I've worked at. I pushed for OSM/etc at one company but was essentially told "Nobody ever got fired for buying Google Maps" (we were just drawing polygons on a map) and I think I might be successful at pushing for ProtonMaps (OSM under the covers) at my current.
Google Maps lets you get your foot in the door "for free" but once you pass the free tier it's insane.
I suppose the ad value of static images in tiles is low, and there’s no way to ensure that developers honor JavaScript or other interactivity for ads?
That's what you get when your consumer directed products are 'free' and thus widely used and thus lot's of stake holders ensure their place is correctly in their database (probably in combination with other, possibly community based, efforts).
We relied heavily on Places API and thus were bound to Google Maps API, we did just not see a reasonable way around that.
Would it be crazy yo have the government maintain such a database and make it available to anyone? It seems like the ideal place to join forces and avoid data duplication.
Do you want those people managing something like maps or places on maps?
Yes. The USPS is actually pretty good at it too. They even have their own API you can use.
>Think about your interactions with the government
My public roads, building codes, food safety, food affordability, stable power grids, advanced medical care, space exploration.
The government is plenty capable of doing good things, however people letting carefully crafted legislation, get passed or even created, that supports private interests is a societal illness, not a fundamental issue with government capabilities.
In my opinion, the USPS is mostly an advertisement delivery system, and every once in a while they deliver a very important letter from the IRS so that you have to look through all of it.
I don’t know how we tolerate this federal system that is literally 80% spam advertisements
At my job I use APIs from the EPA and EIA, and they are stable, well-documented, and generally pleasant to use. I can also email an actual human with questions and get quick responses, which I can't do with Google. I have no concerns about the APIs ever disappearing because the PM got bored or wanted a promotion, or because they couldn't extract enough money from users.
I think whoever manages these services would do an excellent job running a mapping service or Places API, although obviously it would be hard to get traction now that Google Maps is so established.
Some of the features that make Google Maps useful, like GPS and public transit arrival times, are already based on government services.
On the other hand, the USPTO patent database is nearly impossible for anyone other than a professional to navigate. Their search sucks.
Since you mentioned taxes: the fact that Intuit and H&R Block have successfully prevented the IRS from doing what nearly everyone wants: file your taxes for you, for free. For the vast majority of taxpayers, they could do that, yet the political pressure from paid tax preparers have prevented it, at least up to now.
And this illustrates the flaw with your starry-eyed Pollyanna-ism: no matter how honest & hard-working the bureaucrats might be, they're still accountable to corrupt pressures.
The 1950 census data, recently released, also sucks. To find one family whose exact address I wasn't sure of, I had to manually open about 50 strips of census taker daily records and decipher the hand-written names & addresses. Merely finding these 50 strips took more effort than nearly anyone would exert.
Their Search failed to find the family. I don't anyone could figure this out unless they were extremely motivated.
And last but certainly not least, let's look at the Obamacare website rollout, which got a Cabinet secretary fired.
So don't give us a couple good anecdotes and say, "look, the government works great!"
I would love to see some of the more complicated Google Maps APIs unseated by 3rd party providers (Places/Distance, I guess Solar/Pollen/etc too but I care less about those).
Google does serve raw tiles, not free of course
https://developers.google.com/maps/documentation/maps-static...
What worked for websites doesn't work for apps. Have you seen apps with ads built into them? They look horrendous. I usually uninstall them within 5 seconds of seeing them.
I mean the charging a price for it yes, but expecting everyone to be able to pay it is a fantasy.
i'm not really criticizing, they can charge whatever they want if they don't want people to use their maps api. and i suspect they don't really want people to use their maps API - the pricing seems targeted to milk the orgs who can't be bothered to implement a cheaper option.
[1]: https://www.fsa.usda.gov/Assets/USDA-FSA-Public/usdafiles/AP...
API access was charged for, but as people have pointed out, it was a bargain compared to now.
In any large company, sooner or later the CFO and minions will notice that you're losing money and demand you fix it. Thus, YouTube has all these ads that interrupt your viewing, besides coming up before you start. And Maps is raising API prices.
If you read these articles, you see that ArcGIS has a fairly massive footprint in the geo space. Google is not the only game in town for geo information. I haven't done much with Apple Maps, but that seems to be improving, too.
You can find details of what I did, including how to use a feature I did that's still there, at:
https://albertcory50.substack.com/p/working-at-google-maps and
https://albertcory50.substack.com/p/working-at-google-maps-c...
The main risk is, it's Google, and it will be discontinued or over-monetized eventually.
Better look for more reliable alternatives.