Hi Noam,
Thank you for reading onto this. My motivation for Google or Places instead of Waze results is on cases when a particular location or set of locations aren’t in Waze yet or not updated.
A Waze location should ideally already have a preview venue ID. However, this is not always the case. It would take some time to get one location approved or discovered by the community. I could also think that even if it already have an ID but moved to a different location because of calamity, lease expires, shutdown, change of ownership/management, company merges, etc.
I know Waze could get results from Google and in some cases, one could trust Google results especially if one has fine control of Google results via tools like Google Maps and Google MyBusiness. The changes would be readily available within 72 hours in contrast to Waze where waiting for a venue ID will be left arbitrarily to approving powers. I respect that Waze has its own ways of doing things but I think it would be better if users/developers can control search results especially on cases that Waze has no entries and got some from trusted sources.
On the second part, yes, that’s where I have been experimenting already. In my case, the ideal solution would be to have a button opening a landing web page then launching Waze via Waze’s page. This is good for a few reasons. Visitors are made aware that a developer’s site supports Waze. So, if they are on a Desktop, even if no Waze installed, they can come back on a mobile later. If a visitor’s on a mobile without Waze, they can still see a livemap then have an opportunity to download Waze via a link conveniently.
However, the deep links behave differently for Android and iOS. What exactly runs so well in Android fails in iOS and so is the opposite. I tried different combinations of ID, coordinates, search queries, and found out there is no sure way to open a link then navigate with Waze. Yes, opening then navigating.
I tried browsing at Stackoverflow but the solution there doesn’t work for me either. There are a lot of related issues there last time I checked but it seemed very quiet.
I also discovered an undocumented parameter “?location=” along the way.
The solution I have chosen was to use “waze://” protocol on a button. Then have CSS to hide that button depending on a user’s device. Desktop users will not see it but mobile users will see it. There are disadvantages however. Desktop users will not be made aware of Waze support unless you mention it elsewhere. Mobile users will have to launch Google Play or App Store and install Waze first to make use of the link. Or if not, you are left with a dead link (worst part).
Is there a way to make this better? Thank you for looking onto this.