Google-Maps-for-Rails Direction Wiki Explaination Needed - ruby-on-rails-3

Hi I am currently working on a trash bin/recycling bin location application using google maps for rails.
I have a recyclingbin.rb model with the address as its attributes, that itself is enough to put markers on a map that can get displayed using the gem. I believe the gem converts the model and its attributes into json data.
I am trying to implement a feature where I can input my location and get direction to the nearest marker.
I have looked at the wiki , https://github.com/apneadiving/Google-Maps-for-Rails/wiki/Direction
Am I suppose to put this in the view ?
{ "data" => { "from" => "Paris, france", "to" => "Toulon, france" } }
})
%>
with the from to be embedded with my location for now? I understand I can pass options to this reference from google.
The wiki is quite short, can someone give me a quick explanation ?

The wiki does need some more work. I have a simple app working that shows the directions on the map from a location to another (pre-defined) location
<%= gmaps("map_options" => {"zoom" => 14}, "markers" => { "data" => #json },
"direction" => { "data" => {"from" => #location.address, "to" => "New York City"},"travelMode" => "DRIVING"}) %>
I just put this in my view. It shouldn't matter where, just as long as its there. Hope this helps

Related

Yii The view file does not exist - where do mail layouts go

I am using basic template but have adapted the advanced user password reset functionality, for some reason I can't get it to find the mail layouts.
So in \mail\layouts I have
- passwordResetToken-html.php
- passwordResteToken-text.php
In web.php I have
'mailer' => [
'class' => 'yii\swiftmailer\Mailer',
'viewPath' => 'app\mail\layouts',
...
The advanced template uses
'viewPath' => '#common/mail',
But as i'm using basic template, its not in the common/mail folder.
In sendMail function in PasswordResetRequestForm.php i have
return \Yii::$app->mailer->compose(['html' => 'passwordResetToken-html', 'text' => 'passwordResetToken-text'], ['user' => $user])
...
However getting error
The view file does not exist: app\mail\layouts\passwordResetToken-html.php
I know this is going to be something small but for the life of me i cannot see it
Removed the 'viewPath' of config, as the doc don't use it.
So it works.

Using Yii2 Bootstrap widgets with Smarty

I've installed Yii2 together with Smarty for my views.
Smarty itself is working, but I can't figure out how to use the bootstrap widgets with smarty, nor find any examples.
With the default Yii renderer the widgets work great, and lots of examples are available. But when using Smarty templates documentation is nearly non existing.
How would I define this example with Smarty ?
echo Alert::widget([
'options' => [
'class' => 'alert-info',
],
'body' => 'Alert widget',
]);
Obviously the first thing would be
{use class="yii\bootstrap\Alert"}
But I can't find an example of how to define the widget itself.
You should simply try this :
{use class='#yii\bootstrap\Alert' type='function'}
{Alert body='Alert widget' options=['class' => 'alert-info']}
Read more : http://www.yiiframework.com/doc-2.0/guide-tutorial-template-engines.html#importing-static-classes-using-widgets-as-functions-and-blocks
After changing config/web.php and adding:
'globals' => ['html' => '\yii\helpers\Html'],
'uses' => ['yii\bootstrap'],
in the view section, it works.
{use class='yii\bootstrap\Alert' type='function'}
{Alert body='Alert' options=['class' => 'alert-info']}
So without the # soju suggested.

Controlling zoom on gmaps4rails with openlayers provider

I am trying to control the zoom level of a map that is using openlayers as the map provider.
gmaps({
"map_options" => { "provider" => "openlayers",
"auto_zoom" => false, "zoom" => 12 },
"markers" => { "data" => #json }
})
The map (from OpenStreetMap) gets displayed but the zoom level remains the same no matter what value I use for the zoom option. The same code above without the "provider" => "openlayers" option works as expected for google maps.
The wiki for gmaps4rails has a link to a spreadsheet which states that "Zoom" is supported (but not "auto-zoom") for OpenLayers API.
So, is zoom control supported? Or am I doing something wrong?

Geodesic routes in gmaps4rails

I can currently draw polylines using gmaps4rails in Rails but I'd like to draw them as geodesic paths. According to the Google Map documentation this should be as simple as adding "geodesic: true" to the options (link). Below is my current implementation that doesn't work but simply draws a straight line on the map. Is there a correct way of setting this option in gmaps4rails or is this not currently supported?
In my controller:
#json_route =
[
[
{'lng' => 80.190262, 'lat' => 55.774252 },
{'lng' => -66.118292, 'lat' => 38.466465 }
]
]
#gmaps_options =
{
:polylines => { "data" => #json_route.to_json, "options" => { "geodesic" => true }}
}
In my html page:
<%= gmaps(#gmaps_options) %>
Thank you!

gmaps4rails - many markers, one location - how to view?

I am wondering how to deal with the situation where one location may have many markers.
I am using gmaps4rails and rails 3
does this have something to do with the "do_clustering" property of the gmaps?
Thanks!
Adam
excellent, just found "randomize" in the documentation! perfect:
{:data => #json, :options => { :do_clustering => true, randomize: true} }) %>