I have an IPhone game app idea that will use Google Maps and was wondering if I could charge for a app that used Google Maps? This will be like a mashup.
Yes you can but you have to pay for their enterprise license. If you do not charge for it or you are just developing it - it is free.
http://www.google.com/enterprise/maps/
Yes, you can charge for it and no, you do not have to pay for an enterprise license. Mobile Applications are excepted from the rule saying that applications using Google Maps have to be free.
https://developers.google.com/maps/terms
9.1.1 General Rules.
(a) Free Access (No Fees). Your Maps API Implementation must be generally accessible to users without charge and must not require a fee-based subscription or other fee-based restricted access. This rule applies to Your Content and any other content in your Maps API Implementation, whether Your Content or the other content is in existence now or is added later.
9.1.2 Exceptions.
(b) Mobile Applications. The rule in Section 9.1.1(a) (Free Access) does not apply if your Maps API Implementation is used in a mobile application that is sold for a fee through an online store and is downloadable to a mobile device that can access the online store.
Related
I plan developing Windows Phone 8 map application and think of using standard wp8 maps (Nokia) and map controls. It will be a fleet maagement/customers' devices location control application.
May I use standard maps used in wp8 and classes such as Microsoft.Phone.Maps, Microsoft.Phone.Maps.Controls?
On the first side, on the page
http://developer.nokia.com/lumia/nokia-apis/mapping
there is info:
Developers can use the APIs and library for any applications published
in Windows Phone Store.
The Windows Phone 8 Maps API and HERE
launchers are available free of charge for all developers.
But on the other side, when you enter "full terms and conditions" there is point 3 "Use Restrictions" where we can find like
You may not: (...)
use the Mapping APIs for business asset tracking, fleet management, or dispatch;
use the Mapping APIs in connection with any internal business application which (a) is directly related to the operation of your
core business or the core business of your customers, and (b) the
sole users of such application are your employees, contactors or
customers;
Does it mean my fleet maagement/customers' devices location control application can't use any Microsoft maps control code? (even with tiles from other source like OSM) If so, what are the other options/libraries?
Your application CAN use the Windows Phone 8 Maps API, but CAN'T use the Mapping APIS. Those are two different APIs: the first one is what you need to use (show points, routes, etc.), the second one is to create a map image, I mean, create roads, avenues, etc.
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 11 years ago.
Improve this question
When I create web site for some company and I add little map with position of the company on the map is it still free or I have to pay some money? And what about bigger map with multiple markers and additional informations? Do I have to pay some money when I sell this map within a web site? Thank you.
It is free but not for resale.
9. License Requirements. Google's licenses above are subject to your
adherence to the following requirements:
9.1 Free, Public Accessibility to Your Maps API Implementation.
9.1.1 General Rules.
(a) Free Access (No Fees). Your Maps API Implementation must be
generally accessible to users without charge and must not require a
fee-based subscription or other fee-based restricted access. This rule
applies to Your Content and any other content in your Maps API
Implementation, whether Your Content or the other content is in
existence now or is added later.
(b) Public Access (No Firewall). Your Maps API implementation must not
(i) operate only behind a firewall; or (ii) only on an internal
network (except during the development and testing phase); or (iii) in
a closed community (for example, through invitation-only access).
9.1.2 Exceptions.
(a) Enterprise Agreement with Google. The rules in Section 9.1.1 (Free
Access, Public Access) do not apply if you have entered into a
separate written agreement with Google (such as a Google Enterprise
agreement) or obtained Google's written permission.
(b) Mobile Applications. The rule in Section 9.1.1(a) (Free Access)
does not apply if your Maps API Implementation is used in a mobile
application that is sold for a fee through an online store and is
downloadable to a mobile device that can access the online store.
9.1.3 Examples.
(a) You can require users to log in to your Maps API Implementation if
you do not require users to pay a fee.
(b) You can charge a fee for your Maps API Implementation if it is an
Android application downloadable to mobile devices from the Android
Market.
(c) If you are a consultant who creates or hosts Maps API
Implementations for third party customers, you may charge such
customers a fee for your consulting or hosting services (but not for
the Maps API Implementations themselves, except as permitted under
Section 9.1.2 (Exceptions)).
Why not read the Terms of service from the product, rather than ask here?
http://code.google.com/apis/maps/index.html
I want to know if anyone who has experience of using both the Google Maps API and the Multimap API can give a good reason as to why one is better than the other - or maybe a list of pros and cons?
I will be working on a complete re-development of a site which currently uses the Multimap (Classic) API and want to consider the possibility of using Google Maps API instead of Multimap (now MS Bing), but I need a compelling reason to justify this decision.
The site currently provides a search mechanism allowing users to search for addresses using postcode/partial postcode or city. The current system has a sqlserver database back-end containing full address details and also uploads (geocodes this information to Multimap with a daily scheduled task). I'm wondering if it's possible with the Google API to avoid the need for the daily upload and just use it's geocoding API instead (though this is limited by Google's restriction of a certain number of geocoding requests per day).
In my experience using the two, Bing Maps are more accurate with regards to their geocaching, but Google have slightly nicer looking Road Maps.
The Google Maps API is slightly more helpful - for example, if you have 2 markers, the map automatically zooms out to the right level, Bing takes a bit more work.
Aerial maps look pretty much the same on both, as do the Hybrid maps.
My advice would be - use Bing maps for geocaching, then if you want really nice looking road maps, use Google. If you're using Aerial, Hybrid or Birdseye view, you might as well stick with Bing.
According to Wikipedia Multimap was purchased by Microsoft some years ago and its direction features were merged into the Microsoft Bing api. I suppose the Multimap API primarily exists for legacy purposes. By the end of 2010 multimap might disappear, so this is definitely a compelling reason to re-write the geocoding part of your app...
In any case I would contact Multimap how long they plan to support their API and if there is a migration path (probably to bing maps).
Bing Maps as well as Google Maps now offer real-time geocoding services over Javascript (see http://msdn.microsoft.com/en-us/library/ff710027.aspx for an example in bing). Which one to pick? Check the terms of usage and the costs of the geocoding requests per day.
Yes skip the old legacy Multimap and use Google Maps or Bing Maps. Both are in active competition and under active development. So one might be better in one area for a few months but the chances are it will change. Eg. Bing Maps was the first with multi-touch support (using Silverlight) but Google Maps now supports it with its v3 API. (unfortunately all but the most basic map overlays will crash Google Maps multi-touch apps crash with the most widely available multi-touch platform: Safari on the iPad/iPhone).
At the moment I think Bing Maps has the edge, but at the end of the day your decision is probably going to be subjective (those maps look nicer / I find the API slightly nicer / etc), or depending on the exact wording of the EULA (ie. do you pay? and how much? for your specific application).
You talked about geocoding. An increasing number of people are looking at using multiple geocoding platforms. Primarily because geocoding coverage of all the services are imperfect, but it also gives you cover if one service goes down.
Get location(lat/long) without GPS, just like my location feature in Google maps. I have Google Maps in my mobile (Sony Ericsson G502 without GPS). It works fine without GPS in India.
1.How Google finds my position?
2. When i am searching cellid in opencellid database, it has less number of records for India. but Google Maps works fine in my mobile(India)
3.Is Google uses opencellid database or its own?. if Google uses its own, shall we have access to it database
4.Is there any commercial cellid database for India?
The answer is that cellular phones use various location methods, most were introduced as part of E-911 (Enhanced 911) or equivalent emergency service for other countries (e.g. 999 in UK) or since.
I don't know if GSM or CDMA has any localization protocols or standards itself beyond whatever E-911 and such requires. So I doubt there is a general API for all mobile phones.
Mobile phone localization is done via:
plain GPS
Assisted-GPS
Cellular triangulation / multilateration
Cell (tower) identification (FCC/etc. cellular tower database lookup)
Enhanced Cell Identification (E-911)
Uplink-Time difference of arrival (U-TDOA)
Time-of-Arrival (TOA)
Angle of Arrival (AOA)
E-OTD (Enhanced-Observed Time Difference)
and/or a hybrid of these technologies and approaches.
(Src: Wikipedia / Mobile_phone_tracking)
These approaches vary in accuracy and precision from ~35 km (22 mi) to ~5-10 meters (16-32 ft) or better.
3.Is Google uses opencellid database or its own?.
It appears that they have their own database without a public documented API.
4.Is there any commercial cellid database for India?
I don't know.
Google almost certainly uses a proprietary database. They admit as much as:
This involves analyzing the Wi-Fi access points around you and your computer's IP address, and sending this information to a Google server to then be translated into a location that we can show on the map.
http://maps.google.com/support/bin/answer.py?hl=en&answer=153807
Google Street View cars have been known to collect data about wireless access points that could be used in such a database.
Skyhook offer an API for geolocating devices based on Cell ID, Wifi access points, and if available, GPS. The iPhone OS uses this to provide its CoreLocation functionality.
They have SDKs available for most mobile and desktop OSes. It's very good, but you'll have to speak to them about licensing.
As other posters have mentioned, both Skyhook and Google maintain proprietary databases of location information for WiFi SSIDs and cell tower IDs. I believe Geomena is trying to start an open database of located IDs, but that it doesn't yet have the breadth of coverage that the proprietary competitors have. Google also provides a simple client-side JavaScript interface for IP geolocation (called ClientLocation), which might be just accurate enough for some applications, and a wide variety of IP geolocation databases exist.
If your application is web-based, you can take advantage of the W3C Geolocation API, which abstracts away the particular geolocation technology and provides your website user-controlled access to whatever geolocation method the browser chooses to use. On the iPhone, Skyhook's database is used to locate the phone with cell tower or WiFi or GPS location; Firefox uses the Google Location Service, which uses WiFi triangulation and falls back on IP geolocation.
Using some abstraction layer (like the W3C API) can have real advantages if you want your application to work across different platforms which have their own location methods, if you want your application to degrade gracefully when only rough methods of geolocation are available and you want your application to get the advantages of additional precision as your customers upgrade to devices with GPS technology.
I have to architect a commercial vehicle fleet tracking system.
Each vehicle (a few 100, max a few 1,000) will have a GPS and satellite transmitter and will periodically report its position. Positions will be stored in a database and used to create a Google Map.
There will of course be other functionalities. Security, log in, etc and probably lots of interaction with other corporate databses (drivers start/stop time for salary purposes, etc).
Question: pure GoogleMaps is probably best implemented as a browser based app (Php & MySql?), but with the additional functionality of a commercial vehicle fleet tracking system, would it be better doing something PC based (Windows/Linux)?
Any other advice? Thanks
I think with the capabilities of modern browsers, along with various mature client-side frameworks, we are witnessing an always thinning distinction between web and desktop interfaces.
You may want to take into consideration that a web application automatically solves some important problems for you:
Distribution: No need to distribute your application. Simply provide a URL.
Updates: Upgrading and fixing problems in your software will be easier and quicker if you distribute it through a web interface.
Security: Deriving from the above, you are able to fix security vulnerabilities more promptly.
Compatibility: Your application will be able to work on any operating system that can launch a web browser.
Last but not least, remember that the Google Maps API is not free for this type of application. Article 10.9.C of Google Maps API Terms and Conditions explicitly restrict using the standard Google Maps API for fleet management and asset tracking. You would need the Google Maps API Premier to legally use Google Maps for your application.
According to one unofficial source (dated April 2008), this would cost USD 10,000 per year, which entitles you to track 100 vehicles. If you exceed the 100 vehicles, you would need to add USD 24 per additional vehicle per year.
Implement solution for the domain problems first. It means data storage, data transmission between vehicles and your system, methods of data analysis, aggregation and visualisation.
These will likely to sit as a head-less system on a server and provide access to it remotely, in both directions: to input data and to query data.
Now, PC or Web is more related to presentation on a client side. You can make both if you like. Web client as well as desktop application can serve as a client to remote data and operational server.
Don't forget that you can always host a web control in a thick client app. This is actually trivial with .Net on the Windows platform with the IE control. You can also access the browser's DOM this way and do some neat things. So just because there's a strong web component to what you're doing you're not necessarily "stuck" writing a pure web app.
One big question is what kind of hardware you'll be able to put in the vehicles. Will they be laptops or small PCs with full fledged OSs or something more mobile like CE or a pared-down Linux distro?
Google Maps is JavaScript based so you can do most things with it, e.g browser based, widgets, etc. However due to the licensing Google won't allow you to use it in anything other than an Internet environment unless you use there Enterprise License.
In terms of integrating it into other systems, its really difficult to say what's best without knowing what other software you are using, what protocols they use, are web services available, etc. I agree with Daniel though in that any distributed system not implemented in a browser better have some good reasons not to, simply because the benefits are substantial. You'll need to weight them up though with a full break down of all the different systems you will need to interact with and work out what fits best.
The great thing is that with it being JavaScript based you have a lot of flexibility in what you can do with it.
This is more an extension to #Daniel Vassallo's answer. Although a web based application would solve most problems there may be the small potential issue of bandwidth usage and reception for internet access. This may or may not be an issue for the fleet management, depending on how that is tackled on the hardware side of things.
An offline solution may assist with this issue but then a clever architect could find a way to create an initial web based solution which can be accessed with an offline application which can pick up the slack and/or provide predictive reasoning until a connection is re-established.