iSeller Commerce
iSeller POS Retail
iSeller POS F&B
iSeller POS Express
Crosslight
WebUI
ClientUI
What's New
Download Trial
Web Solution
Mobile Solution
Enterprise Solution
Custom Development
Blog
Community
Latest Development Blogs
ForumPostTopic
Browse By Tag
Hello Crosslight Support,
I just ran the new Maps sample on my Android device. Under "Default Route" the map shows up and also the two markers. But there is no blue route drawn to the map like on iOS.
Under "Alternative Routes" its the same behaviour. No routes are drawn to the map. Clicking on "Change Route" a message says "Alternative route is not available yet. Try again later.".
Drawing routes to a map is a feature I want to use. Why isn't it in the Android sample? Isn't it realized at all on Android?
Thanks,Thomas
I deployed MapsSample on my Galaxy Nexus device and found that the route is drawn, just like the map on iOS. Please kindly check the screenshot of the sample project run on my device (attached: MapsSampleOnGalaxyNexus.png) and let me know if you have different result.
Note: I found this article: Android Map View is useful when test/run the maps sample project.
Hello Yudi,
I used the maps sample as it was provided by Intersoft. What I changed was the Maps API key in order to see any map on my device.
See my screenshot attached.
It is great that everything seems to work at your end, but on my end almost nothing seems to work. It is the same as the dark background of the TimePicker which should be light. I have nothing special on my devices. Meanwhile I tested with devices from my family and friends and I have the same results. These are the same devices as my customers may have. The only special thing I can see is that the culture is set to German/Switzerland.
What can I do? I need these features to work. Otherwise Crosslight is a waste of time for me because I'm spending my whole time chasing bugs instead of being productive.
Hope to here from you soon.
Thanks,
Thomas
Hello Thomas,
Thanks for your continuous support and feedback.
No worries, we will escalate your issues to our development team and address these few glitches shortly. We will keep you informed.
... The only special thing I can see is that the culture is set to German/Switzerland.
I started my investigation by changing the culture of my Galaxy Nexus device to German (Settings > Language and Input > Language > Deutsch); and followed by modifying the ParseLocation method into the following:
private Location ParseLocation(XElement element){ Location location = new Location(); if (element != null && !string.IsNullOrEmpty(element.Value)) { string[] parts = element.Value.Split(','); double latitude = Convert.ToDouble(parts[0], System.Globalization.CultureInfo.InvariantCulture); double longitude = Convert.ToDouble(parts[1], System.Globalization.CultureInfo.InvariantCulture); location.Coordinate = new LocationCoordinate(latitude, longitude); } return location; }
After save the changes and re-deploy the app to device, the reported problem is reproducible. This problem seems to be related with the culture issue.
Currently, the Crosslight development team is investigating this issue. It is filed under CROS-645.
I will keep this thread updated with any news I heard from the team regarding CROS-645.
Update: December 10, 2014 12:06 AM
A nightly-build of Crosslight 3 (build 152) is now available to be downloaded. Please obtain the hotfix in here. This is a nightly-build update include the fixes for routes that are not drawn to the map in Android platform(CROS-645).
For your information, I have evaluated the nightly build on MapSamples project using Samsung Galaxy Nexus device (the culture is set to German) and found that the reported problems are no longer persist. Please let us hear your feedback regarding the nightly build.
Note:+ You might need to apply GooglePlayServicesLib.dll (attached) to "C:\Program Files (x86)\Intersoft Solutions\Crosslight 3\common\packages\googleplayservices-13.0" folder if necessary.+ Modify ParseLocation method in BeachRepository.cs and MedicalPlaceRepository.cs into:
private Location ParseLocation(XElement element) { Location location = new Location(); if (element != null && !string.IsNullOrEmpty(element.Value)) { string[] parts = element.Value.Split(','); double latitude = 0; double.TryParse(parts[0], NumberStyles.Any, CultureInfo.InvariantCulture, out latitude); double longitude = 0; double.TryParse(parts[1], NumberStyles.Any, CultureInfo.InvariantCulture, out longitude); location.Coordinate = new LocationCoordinate(latitude, longitude); } return location; }
This modification involving invariant culture conversion when parsing the maps coordinate (latitude and longitude). This changes have been applied to the MapSamples project in our git (at develop branch).
I changed the Crosslight assemblies, the ParseLocation method and the GooglePlayServiceLib as described above.
Starting the MapsSample nothing has changed. I had no problem with the markers. All markers have been drawn on the map before. So, I don't understand why I should change the ParseLocation. I never had this culture issue when parsing out the locations.
My problem is that there is no route drawn on the map (blue and brown routes between two markers). And this problem still exists. Looking at the AlternativeRoutesViewModel the "Routes" property is null. I think this is the case in the DefaultRouteViewModel, too. I don't know where the "Routes" are. Maybe it is a service from Google. This is not working on my devices. Please, check again.
If there is anything I can do, please let me know.
I found out what went wrong. After obtaining my API key for Google Maps I copied it to the manifest file. But I also copied it to the "intersoft.crosslight.android.GOOGLE_API_KEY" section. This causes the problem. The map itself works, but the routes are not drawn. After changing back to the original key the routes work fine.
So, the main issue is solved now.
Some more questions about the map:
- Can I change to Satelite or Hybrid mode?
- Can I change to Google Street View?
... So, the main issue is solved now.
Glad to hear that the route is now appearing on Android.
Can I change to Satelite or Hybrid mode?
Set the MapType property by overriding MapType in activities class that consumes the map layout.
protected override MapType MapType { get { return MapType.Satellite; } }
Can I change to Google Street View?
Currently the Google Street View is not available yet in Crosslight MapView. I have submitted this as feature request to Crosslight development team. It is filed under CROS-646.
I will keep this thread updated with any news I heard from the team regarding CROS-646.
Thank you and have a nice day.
what is always important when developing is binding properties with the viewmodel.
When I open the following link http://developer.intersoftpt.com/display/crosslightapi/BindableProperties+Class I have a list of all bindable properties.
But aren't there a lot of properties which are missing.
Concerning the map view. How can I bind the "MapType" to a viewmodel property? Where can I find a list of all map properties which can be bound? There are a lot of map properties like IsTrafficEnabled, IsCompassEnabled, ... and they all should be bindable.
Where can I find the bindable properties of other new components like the "Calendar"?
I have created a request to Crosslight development team to provide a way to bind map properties (for example: MapType; IsTrafficEnabled; IsCompasEnabled; etc) to a ViewModel property. This is filed under CROS-649.
Regarding the bindable properties of "Calendar", currently we are completing the documentation so that developer can easily find the information about the bindable properties. I'll get back to you as soon as possible.
"Happy new year" to you and the support team.
I have a question about CROS-649. Will it be included within update 2 of Crosslight 3?
To what date is update2 roughly scheduled?
Hi Thomas! We wish you a prosperous and happy new year.
Since MapType is specific to Android platform, I'm afraid that it is only possible to set this in Activities class.Thank you and have a nice day.
or
Choose this if you're already a member of Intersoft Community Forum. You can link your OpenID account to your existing Intersoft Social ID.
Choose this if you don't have an Intersoft account yet. Your authenticated OpenID will be automatically linked to your new Intersoft account.
Enter your Wordpress Blogname