Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
This question does not appear to be about programming within the scope defined in the help center.
Closed 7 years ago.
Improve this question
I am planning on creating a commercial fleet/asset tracking web app, but got discouraged when I found our about the high price Google and Microsoft charge to use their services in a commercial setting. I found Openlayers, and it claims to be free, so I am wondering if anyone has had experience using it commercially?
I looks like the use of the API is free, but does that include the maps as well? Openlayers also lets you use Google as the mapping provider, but if I do that, would I be breaking Google's TOS since it is commercial?
I apologize if this isn't the correct place to ask such a question as it isn't directly related to a programming problem, but I can't find a definitive answer anywhere else and I imagine someone on SO has had experience creating a commercial mapping application.
OpenLayers has no data - it is an opensource mapping API that can be used with many different data sources.
To be free of all data licensing concerns use OSM data rather than Google - http://www.openstreetmap.org/ with OpenLayers. See some examples at http://wiki.openstreetmap.org/wiki/OpenLayers#Examples
Depending on usage, you'll probably want to provide your own map server rather than rely on (for example) a free OSM one. These can provide the data (including map tiles) that OpenLayers uses to draw its maps.
UMN MapServer and GeoServer are popular. I've found MapServer combined with OpenLayuers a powerful combination.
I've never used GeoServer, but I think it requires serverside Java. And there are other options.
Related
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 5 years ago.
Improve this question
I'm programming a software based on google maps api for emergency vehicles. Is it possible to make the directions api allow breaking traffic rules (like turning left where it's not allowed)?
Thank you
I don't think it is still possible with the latest version of Maps API. It is still a feature request.
Also, I don't see if a workaround exists.
I'm afraid there is even worse thing that might disallow using of Google Maps API in applications for emergency vehicles.
Have a look at paragraph 10.2 (g) of Terms of Service. It reads:
General Google API Restrictions. The following restrictions apply generally to all Google Services, including the Google application programming interfaces at https://developers.google.com/products/ (or such other URL as Google may provide) (the “Google API(s)”). You will not:
g. Use the Google APIs for any activities where the use or failure of the Google APIs could lead to death, personal injury, or environmental damage (such as the operation of nuclear facilities, air traffic control, or life support systems).
https://developers.google.com/maps/terms?#section_10_2
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed last year.
The community reviewed whether to reopen this question last year and left it closed:
Original close reason(s) were not resolved
Improve this question
I'm looking for an alternative to Google-maps with all the richness of their API but more open. Does such a thing exist?
OpenStreetMap is, of course, the obvious answer. There are various APIs for managing the data in the database, and there are various APIs for getting maps onto your webpages, such as OpenLayers, Mapstraction, or Staticmaps.
Google have recently introduced a limit of 25,000 map sessions per day, which forced us to consider the alternatives for some of our sites.
We've written a blog post about it with some examples here.
In a nutshell, we have chosen to use a combination of CloudMade's Leaflet for the Javascript Map API, and then Open MapQuest (based on OpenStreetMap data) for the tiles.
You might want to consider http://leaflet.cloudmade.com/
OpenLayers
About...
OpenLayers makes it easy to put a dynamic map in any web page. It can display map tiles and markers loaded from any source. MetaCarta developed the initial version of OpenLayers and gave it to the public to further the use of geographic information of all kinds. OpenLayers is completely free, Open Source JavaScript, released under a BSD-style License.
If you are in the UK you can use the Ordance Surveys' OS Open Data maps.
Consider this article: http://www.alistapart.com/articles/takecontrolofyourmaps
Here are a few options suggested by the article:
1-OpenLayers
2-TileCache
3-Mapnik
4-QGIS
The article explains (theoretically) how to create your own software stack that will mimic google maps, but remain under your complete control.
You might not need all the layers of software for your project, but you may find the article helpful regardless.
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 7 years ago.
Improve this question
In my 4 years of experience,I have developed a lot of web applications. Now, the concept of programmable web getting more and more popular, new APIs are being released almost everyday. I would like to develop a java API/library for a few of these endpoints.Ex stackapps,reddit,digg etc... What I would like to know from you people is ,
How is the API of the regular web
apps differ from the API of these
libraries. Or what is the difference
between these two from design
perspective
What are the best API development
practices.
What are all the factors that I need to consider before designing the API
.
Please comment, if the details are not sufficient.
Stability
If you offer an API to your web app, it is probably because you want other people to build applications using it. If it is not stable they will hate you for forcing them to follow through your frequent changes. If this takes too long, their site might remain non-functional for a long time while they are figuring out the new way of doing things in your API.
Compactness
You want the API to be complete but compact, as in not too much to remember.
Orthogonality
Design it so there is one and only one way to change each property or trigger an action. Actions in an orthogonal API should have minimal (if ever) side effects.
Also, it's not a good practice to remove a feature from a public API once released.
Security and Authentication
Since the API is web-exposed, you will have to authenticate each request and grant appropriate access. Security common sense applies here.
Fast Responses or Break into pieces
I believe in a web environment we should have fast responses and avoid requests that will take too long to complete. If it's unavoidable then it is better to send an ACK and break the task into several pieces and subsequent calls.
From my experience, all good API were not made to solve a generic problem, but to solve a problem for some that requires a certain abstraction. This abstraction is then evolving as the requirement and/or the underlying layer change.
So instead of finding the API that will do it all, I'd start by finding one or two good case problem were your API could help.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Questions asking us to recommend or find a tool, library or favorite off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.
Closed 9 years ago.
Improve this question
I've been asked to add Google Earth images to a desktop app (civil engineering modelling app)
I was under the impression that Google's license didn't allow you to do this.
Are there any other easily accessible, and similarly high resolution, image sources anyone can recommend (Blue Marble, terraserver) ?
As a bonus, any library that lets me use coordinates in a range of local map datums and convert them to Lat/Long without me having to incorporate the whole of CGAL?
You may want to check out NASA WorldWind. It is a Java SDK that you can integrate into either a desktop app or an applet. It allows you to access and visualize several freely-available satellite imagery sources, and is open source so it's completely customizable.
In addition, WorldWind has quite a bit of functionality that supports working with various coordinate systems, so it may be able to handle the coordinate transformations that you asked about.
Check out NASA World Wind.
Ideally I wanted a c++ sdk or web interface.
But I found this Ossimplanet which uses the Worldwind server.
ESRI made it easy to get up and running using ArcGIS Online. They have free map services for satellite imagery, which you reference via a URL and their Javascript API.
Check out their World Imagery online tutorial, which has code you can cut and paste to get up and running quickly, or just click "View Live Sample" to see a demo.
As for the bonus question: maybe try something like GDAL/Proj/Geos (the ogr2ogr utility may help).
Closed. This question is off-topic. It is not currently accepting answers.
Want to improve this question? Update the question so it's on-topic for Stack Overflow.
Closed 9 years ago.
Improve this question
The crawler needs to have an extendable architecture to allow changing the internal process, like implementing new steps (pre-parser, parser, etc...)
I found the Heritrix Project (http://crawler.archive.org/).
But there are other nice projects like that?
Nutch is the best you can do when it comes to a free crawler. It is built off of the concept of Lucene (in an enterprise scaled manner) and is supported by the Hadoop back end using MapReduce (similar to Google) for large scale data querying. Great products! I am currently reading all about Hadoop in the new (not yet released) Hadoop in Action from manning. If you go this route I suggest getting onto their technical review team to get an early copy of this title!
These are all Java based. If you are a .net guy (like me!!) then you might be more interested in Lucene.NET, Nutch.NET, and Hadoop.NET which are all class by class and api by api ports to C#.
You May also want to try Scrapy http://scrapy.org/
It is really easy to specify and run your crawlers.
Abot is a good extensible web-crawler. Every part of the architecture is pluggable giving you complete control over its behavior. Its open source, free for commercial and personal use, written in C#.
https://github.com/sjdirect/abot
I've discovered recently one called - Nutch.
If you're not tied down to platform, I've had very good experiences with Nutch in the past.
It's written in Java and goes hand in hand with the Lucene indexer.