We are using the HereMaps SDK for iOS. We have route information being calculated in a table view for the user, and we are updating this information continuously to the database. We also have a map view that optionally shows the user his current position and updates the route and maneuvers continuously on the map. This is not crucial for the user experience so we have placed it in a toggle view mode. When they click on a map icon that view will be shown etc. but it is in the same class. This has worked fine for us for a few years. Lately, (and only with some particular iOS devices - iPhone SE 2nd generation and iPhone XR) we are experiencing freezing UI issues. We think that because the mapview is not in a controller of its own, but can be toggled to be shown or to be hidden,that this may be causing the freezes. Simply put, these devices do not enjoy rendering maps continuously to a hidden view.
Is there a way to temporarily block or unblock just the updates to the map alone?
I figured out how to fix this. The best way to keep the map from updating the UI, but still to keep using its other navigational back-end features is by setting or unsetting mapTracking to the Navigation Manager.
So in my toggle to show or hide map I did the following when showing the map:
navigationManager.mapTrackingEnabled = true
and the following when hiding it:
navigationManager.mapTrackingEnabled = false
Problem solved!
Related
I am implementing a feature using "connectivity" from essentials that when the app goes "offline" no wifi etc.. it navigates to a specific page.
It works in most cases however if I set the phone on "Airplane Mode" when I am on a modal page it does not navigate to my page.
In Prism is there a way to detect if the current page "IsModal" and either goback or kill it so that I can navigate to my specific Page?
THanks
You'd have to write some crazy lookup logic to figure it out. Unfortunately the helper for that doesn't currently exist. However the latest Prism 7.2 preview has some enhancements that specifically attempt to eliminate the need to figure out whether you require Modal Navigation and automatically use the proper type of Navigation. I would encourage you to try the preview. If you come up with a scenario where GoBack isn't working correctly please open an issue.
Is there a way to let PWA users know that a clicked link is being loaded. Usually in the browser we see the blue progress line indicating this but in the pwa the user is left to assume the page is loading except there is a pseudo effect on the buttons programmed by the developer. I understand the idea behind pwa includes giving users immersive visuals and if pages load faster, the users will not bother about the blue line but sometimes it's needed.
Going through the same thing but i think i found a way.
We can use bootstrap spinners to animate this. We can use javascript to detect a link click and show the spinner. We can also add this on submit button click.
I have developed a mobile site using Icefaces-mobile framework in that I want to search the things based on area zoomed in on the mobile screen, for this users can zoom in/out & navigates the area but the problem is after doing zoom in/out/navigations 4 to 6 times browser becomes unresponsive. I think it must be problem with browsers capability of handling/execute the javascript(correct me if I m wrong).
I have generated latest API key for map using some standers steps given by google on their forum.
Thanks in Advance.
The stock Android browser does suffer from serious limitations, and it could be device performance limitations, as the previous poster mentioned. But you should also be careful that you're not inadvertently causing a memory leak in your own JavaScript. Are there DOM updates from Ajax interactions being generated during this? Check the Android LogCat messages to see the ICEfaces/ICEmobile logging which will show the updates. Check to ensure that if you're custom function is being re-run that you're not causing a memory leak there. If not, I doubt there's an issue with the GMap code and it's likely just a device limitation. Perhaps also put your gmap code in a separate HTML page without ICEmobile and see if you still have the problem.
I've inherited a small project. The person before me created a native app for iPhone, implemented in objective-c, and my job is to remake it as a webapp with PhoneGap for iOS and Android.
In my predecessor's original implementation, part of the app has the functionality of allowing the user to drop a marker on a map to select a location. I found a comparable way of doing this, but the supervisor wants the exact way she'd done it, which I'm having a little trouble with. Let me describe:
In her native app, the map appears with a marker in the center of it. The user then slides the map around beneath the marker (which stays in place on the screen), until the marker is positioned over the spot they want. Then they hit a button marked "Select," and those coordinates are sent to the app for irrelevant other operations.
I'm trying to do the exact same thing with the google-maps javascript api and html/css, and I can't figure it out. Do any of you Gmaps pros have any ideas?
You may observe the center_changed-Event of the map. When it fires set the position of the marker to the new center of the map.
Another suggestion:
For a better effect instead of a marker you may use a custom control. You may insert a marker-image there so it will look like a marker. To place it in the center, push the control to
map.controls[google.maps.ControlPosition.RIGHT_CENTER]
(it will be vertically centered then) and apply the horizontal centering by adding a right-margin to the control
I have a Flex 3.5 Air Application; The main window has, besides the header, a TabNavigator. In a Tab, I've put a Google Maps object. It works fine, except that it "loads" very slow and the whole application freezes ( not responding problem ).
Now I would like to fix that but don't really now how to implement one of these solutions:
1) Load the API before the whole application loads.
2) Load the API somehow async, when the tab is clicked. I don't really need a fancy preloader, it's enough that my app doesn't freeze.
Please note that I'm "110%" sure that it's the GoogleMaps's fault since the tab canvas is empty, and no other code is there [double checked that]. Also please note that the map only loads, then I call the setCenter method, so no other operations that could freeze it.
EDIT: I managed to determine that not the Api Object creation is slow, but the actual display of it on the GUI. Here's the line of code. ResellersMapClass only extends the Google Maps API class since I intend to add there extra functionality. But right now is clean.
this.map = new ResellersMapClass();
//between here
this.mapContainer.addChild( this.map );
//and here
Now is there a way to preload this ? Or any other solution that will prevent the GUI from freezing.
Thanks,
Gabriel
I had the same problem with the Yahoo! map API. I ended up just dropping it in a module and gave it a ProgressBar for the load. That should help with the async issues at least. If the problem is a heavy algorithm in the library, there is no way around that until flash rolls out true multi-threading (crosses fingers).