I am new to angular and working on angular based project. Now I have to implement advanced maps functionality list and displaying it like clustering, routing and road routing , paths, directions, polygons, events, drawing on maps, info widows, markers, etc...
I made some search and found that I can use "leaflet" openstreet map but I need to start with Google Maps so I searched and found the following options:
1) I toke a look over ui-map https://github.com/angular-ui/ui-map but I am worry since I am not sure if this project is still supported and will cover all the features needed
2) Angular Google Maps https://github.com/nlaplante/angular-google-maps very good angularish effort but also worry about the implemented features , may be I can implement external service for not supported features like paths and directions
3) ng-newsletter
http://www.ng-newsletter.com/posts/angular-ui-utils.html
*there are some other solutions like ....
a) using one of ways provided here
http://wbyoko.co/angularjs/angularjs-google-maps-components.html
b) Implement my directive and use it but worry about how to pass map variable among services
I need advice on which strategy and technology to use beside how to organize my map code among directives and services ?
Option 1 seems the best bet out here. Angular UI is widely used library and is well supported.
Check this link http://ngmodules.org/tags/maps for a comparison.
Related
I'm currently working on a mapping project using the Google Maps JavaScript API.
But my application will be much more advanced then showing a single map and will eventually show multiple map "views" as well as options to manipulate the map using forms on the page.
I have used a couple different HTML 5 JavaScript frameworks such as Backbone.js, Angular.js as well as Ember.js for other projects but nothing has worked well with Google Maps.
I'm wondering if anyone would recommend using a particular JavaScript framework for working with Google Maps JavaScript v3 API.
Preferably something with an active plugin/module for Google Maps would work best. I have created my own special views in Backbone for Google Maps but it does not work as "well" as I want it to.
If you have a suggestion to use a different mapping API, other than GMaps, I would love to hear about it too.
There is also an ember-leaflet proyect, seems interesting but I did not taste it yet.
https://github.com/gabesmed/ember-leaflet
http://gabesmed.github.io/ember-leaflet/
Good luck
Turns out there are two really great approaches.
EmberJS + Leaflet http://gabesmed.github.io/ember-leaflet/
AngularJS + Leaflet http://tombatossals.github.io/angular-leaflet-directive/#!/
AngularJS + Google Maps http://nlaplante.github.io/angular-google-maps/#!/usage
I have decided to either use AngularJS or EmberJS with Leaflet, as the Leaflet API is much more robust than the Google Maps API. (imo)
Not a Google maps solution, but you said you'd love to hear about other possible mapping solutions. Well, ArcGIS has a Javascript API https://developers.arcgis.com/en/javascript/ that is directly coupled with the Dojo javascript framework, though they do have a light version of the API as well that still runs off a stripped down version of dojo, but is more aimed at allowing integration with other JS frameworks.
May or may not meet what you're wanting, but it's an option anyway and figured I'd pass it along. They have a number of samples and such so I'd suggest you go there and take a look rather than me trying to explain.
I second the ember-leaflet suggestion. You can use any map provider you want, through leaflet.
Is it possible to use Google Directions API in conjunction with construction data? For instance, if I had a map that I entered a bunch of construction areas, can Google Directions then be made aware of these and to avoid them, providing a better route?
There is no way (currently) to input "roadblocks". See this feature request (star it if you want to support it):
http://code.google.com/p/gmaps-api-issues/issues/detail?id=214
I have full fledged integration of google maps version 2 in my web application, with features like get directions, cluster markers, tabbed info window, context menu(right click). The implementation has very poor design which is causing some problem, So now I need to revamp the core implementation to better design. I was thinking of upgrading to version 3 of google maps API. Please suggest, if that's a good thing to do and my all features will be running fine(or I will get replacement for all the features mentioned) in less time. Or should I stick to the version 2 of the google maps API?
I recommend you upgrade to v3. I upgraded my site a few months ago (and blogged about the experience). A few things to keep in mind:
No more API key.
The marker and info window API has changed, for the better.
No more AJAX helper stuff. If you are using GXMLHttp, you will need to swap over to a new AJAX wrapper (Jquery, mootools etc).
Check your lat/lngs are in the right order. GPoint takes x and y (longitude and latitude). v3 has a latlng object, so your params might be backwards.
Styled maps - You will be able to customize your color scheme in v3.
Don't think you can turn on the Google earth plugin in a single line of code like you could in v2 (not 100% on this, so please correct me if I am wrong).
Once you are done, you will be happy to make the change. Pages load faster, zooming is smoother (polyines scale as you zoom instead of disappearing) and the mobile experience is much better.
I'm a bit stuck with which charting library I will use in my project. Im stuck with this two (but also open for other suggestions)
For YUI Charts :
Pro :
- Very robust and configurable
Cons :
- Uses flash 9 >, which might potentially be inaccessible for users without up to date flash version
- Does not support export to image (for flash versions < 10 only)
For Google Visualization API
pros:
- small file size for the libraries,
- can be exported to static image charts (via separate API call)
Cons
- limited configuration options
So there, please help me decide. YUI charts has the edge over configuration options but Google Visualization API has the edge in terms of accessibility as it uses SVG to render the grapsh instead of Flash. For users that are hand-cuffed by corporate IT prohibitions , they cant just upgrade their Flash version and the page will not work.
Thanks!
I would choose Google's API as it requires only a javascript interpreter or internet access (to Google).
The fewer dependencies, the better. Not to mention there is quite an array of tools for manipulating SVG images.
If you really cannot make do without certain features in YUI or cannot find simpler ways to express your charts, then choose YUI.
You might also want to take a peek at http://www.simile-widgets.org/ It might be overkill / bad fit for your needs, but it is positively sexy.
If you don't want flash for drawing charts in your application it is better to choose
Google Visualization API...
The Google Visualization JavaScript API lets you access structured data and visualize that data using JavaScript in your web pages. The Google Visualization API also enables creation of gadgets.
There are many services, where user can switch API: gpsies.com, gdeetotdom.ru/map etc. How I can develop common map factory? Have anybody some tutorials or examples?
Take a look at OpenLayers javascript library. They have a framework for building maps applications with many different sources of data.