Search This Blog
Tuesday, March 24, 2015
Google Maps integration in XAF Web UI - Looking for real use-cases!
UPDATED:
We've implemented the new Web Map Module in v15.2 based on the great customer feedback we received from this post. Refer to the XAF - Web Map Module (Coming soon in v15.2) article for more details.
===
We had a few requests from our users on this subject, and some time ago we described two possible integration options (a custom ListEditor and PropertyEditor) in the T195734: How to use Google Maps in XAF ASP.NET application ticket. There is nothing special here as these approaches are already well-known from XAF documentation: Using a Custom Control that is not Integrated by Default
In addition to the implementation instructions, there was a sample project that should have helped you get all the pieces of the puzzle together. It was not complete implementation by any means (some scenarios were not implemented intentionally), but rather a demonstration of how that is possible in general with an intent for users to further extend and test this solution according to your exact business requirements and Google Maps API docs :-).
Unfortunately, there was not much interest and feedback from users on this basic implementation and, more importantly, on their business requirements, nor on the info on how the Google Maps component helps end-users do their work easier. We require this essential information in order to investigate whether or not it is possible to provide a universal and useful solution for this scenario as part of the standard framework delivery.
This blog post is one more attempt to collect this information from you, guys, I greatly appreciate your input in advance. I am also writing this because I've recently extended the original example implementation by supporting a few more things, which I think the majority would want to have by default. These are: opening geo point details in DetailView after clicking on it within a a map, the possibility to not only display a point's information in detail form, but also to edit its details when we are in the Edit mode with the help of ASPxObjectPropertyEditor. I demonstrated the latest features in the video below:
If you faced a requirement to use Google Maps or any other similar map control to better meet the needs of your clients, I would greatly appreciate it if you email me at dennis@devexpress.com and tell the details of your real use-cases along with the screenshots, videos and other info.
To formalize this a bit and make it easier for you to answer (and for us to process too), see the four simple points:
1. User story or short scenario/problem/requirement description (preferably in the Given [initial context], when [event occurs], then [ensure some outcomes] notation) as well as other supporting info such as screenshots, videos, samples;
2. How often do you experience this problem (once, every year, month, week, hour)?
3. How do you currently solve this problem for your clients?
4. If you already have a solution, how costly is it in terms of time and maintenance resources?
I look forward to hearing from you and will be happy to email you back the latest refactored and extended version of the demonstrated example implementation.
We've implemented the new Web Map Module in v15.2 based on the great customer feedback we received from this post. Refer to the XAF - Web Map Module (Coming soon in v15.2) article for more details.
===
We had a few requests from our users on this subject, and some time ago we described two possible integration options (a custom ListEditor and PropertyEditor) in the T195734: How to use Google Maps in XAF ASP.NET application ticket. There is nothing special here as these approaches are already well-known from XAF documentation: Using a Custom Control that is not Integrated by Default
In addition to the implementation instructions, there was a sample project that should have helped you get all the pieces of the puzzle together. It was not complete implementation by any means (some scenarios were not implemented intentionally), but rather a demonstration of how that is possible in general with an intent for users to further extend and test this solution according to your exact business requirements and Google Maps API docs :-).
Unfortunately, there was not much interest and feedback from users on this basic implementation and, more importantly, on their business requirements, nor on the info on how the Google Maps component helps end-users do their work easier. We require this essential information in order to investigate whether or not it is possible to provide a universal and useful solution for this scenario as part of the standard framework delivery.
This blog post is one more attempt to collect this information from you, guys, I greatly appreciate your input in advance. I am also writing this because I've recently extended the original example implementation by supporting a few more things, which I think the majority would want to have by default. These are: opening geo point details in DetailView after clicking on it within a a map, the possibility to not only display a point's information in detail form, but also to edit its details when we are in the Edit mode with the help of ASPxObjectPropertyEditor. I demonstrated the latest features in the video below:
If you faced a requirement to use Google Maps or any other similar map control to better meet the needs of your clients, I would greatly appreciate it if you email me at dennis@devexpress.com and tell the details of your real use-cases along with the screenshots, videos and other info.
To formalize this a bit and make it easier for you to answer (and for us to process too), see the four simple points:
1. User story or short scenario/problem/requirement description (preferably in the Given [initial context], when [event occurs], then [ensure some outcomes] notation) as well as other supporting info such as screenshots, videos, samples;
2. How often do you experience this problem (once, every year, month, week, hour)?
3. How do you currently solve this problem for your clients?
4. If you already have a solution, how costly is it in terms of time and maintenance resources?
I look forward to hearing from you and will be happy to email you back the latest refactored and extended version of the demonstrated example implementation.
Subscribe to:
Post Comments (Atom)
Hi Dennis. We have a use-case which might be too complicated for what you're after. If you look at https://www.devexpress.com/home/case-studies/lineofbusinesssystems/ and look at the mapping screenshots & description, this is roughly what we want to achieve using Google Maps & Routing, rather than MapPoint (which has been discontinued). Let me know if it's of interest & I can supply more info. by email.
ReplyDeleteHi Chris, thanks for your input. Yes, your case study is already in our list as it addresses some of my questions above. I will contact you if we require additional info on this.
DeleteOkay Dennis, a big part of what we want/need is routing. We also then start knocking in to licencing considerations etc.
ReplyDelete>>licencing considerations etc
ReplyDeleteChris, would you please elaborate a bit more on this part? I guess this is something related to the maps providers...
When we were looking at Google for mapping it was a little unclear what the costs would be, and the licencing implied that usage in Win platform was not in keeping with the licence wording. (I realise your example is web based)
ReplyDeleteThings have almost certainly changed in the interim, but there are limits to how many calls can be made for free against an API key.
see https://developers.google.com/maps/faq#usage_pricing
and for directions/routing api https://developers.google.com/maps/documentation/directions/
I haven't looked at this for a while though.
This comments might not be within the remit of what you're trying to achieve.
Thanks for your clarification, Chris. Yes, this is what I meant. I also remember we had to carefully consider this when deciding on using the Bing or Google translate API for our localization tool...Thanks anyway.
ReplyDeleteFitzroy @ Food for the Poor Jamaica.
ReplyDeleteI developed an XAF Application for us. We build and donate homes to the needy.
We are supported by donors to whom we send regular picture updates. This would be a massive boon for us.
We have users who go to google maps, collect the map info, print it, staple it to documents and then file them.
We have investigators who travel and take pictures location before during and after construction, upload them to an ftp server where other people file those pictures
We have a marketing department who scours these electronic and physical files for info to support their activities.
We also have dream of having historical data to show our donors so they can see how their hard earned money is being put to use. It is more work than it has to be.
My XAF App is intended to eliminate all this madness.
Is this going to happen?
@Fitzroy: Thanks for your comment. If you have some additional time, I would greatly appreciate it if you could provide more specific details for the four general cases you posted above, so that we could better understand how your users are actually going to use the maps and what the most important business tasks would be for them to solve in the app. This essential information will help us see how our framework can make your life easier. If you can additionally post screenshots from the app illustrating your current custom solution, this would be great as well.
ReplyDeletehi
ReplyDeleteThank you for your sample
i have a problem when running a project, the custom editors are not showing.
note that the project is converted to version 14.2.7
Thanks.
Hi Dennis,
ReplyDeleteI was able to integrate your sample code in my project. Thanks for your good work and sharing it XAF fellows.
However i am having a small issue, the issue is, when i am creating a new marker, the map is not bringing it in the center. Instead the default center values are always applied. Can you please tell me how to do it.
Thanks for sharing your feedback.
DeleteI am afraid I do not have a ready solution for this scenario, sorry. Since this sample leverages Google Maps API, you can find a solution in the corresponding docs or on StackOverFlow.Com. Let me know if I can assist you with any DevExpress related questions.