Gmaps4rails открывает вид на океан, когда совпадение не найдено

Я пытаюсь найти адрес пользователя в пределах 10 миль. Кажется, работает нормально, если расстояние в пределах 10 миль. Но если оно больше 10 миль, оно приближается к середине нигде. Любая идея, как исправить это так, чтобы, если он не находится в пределах досягаемости, он не приближался к случайному океану, еще лучше дать сообщение о том, что в данном радиусе нет совпадения?

users_controller

class UsersController < ApplicationController
  def index
    if params[:search].present?
      @users = User.near(params[:search], 10)
    else
      @users = User.all
    end

    @hash = Gmaps4rails.build_markers(@users) do |user, marker|
      marker.lat user.latitude
      marker.lng user.longitude
      marker.infowindow user.description
    end
  end
end

index.html.erb

<div id="map-container">
  <div id="map-canvas"></div>
</div>

<%= form_tag users_path, :method => :get do %>
  <p>
  <%= text_field_tag :search, params[:search] %>
  <%= submit_tag "Search Near" %>
  </p>
<% end %>


<script>
$(document).ready(function(){
  handler = Gmaps.build('Google');
  handler.buildMap({ provider: {}, internal: {id: 'map-canvas'}}, function(){
    markers = handler.addMarkers(<%=raw @hash.to_json %>)
    handler.bounds.extendWith(markers);
    handler.fitMapToBounds(markers);
    if(navigator.geolocation)
      navigator.geolocation.getCurrentPosition;
  });
});
</script>

0 ответов

Другие вопросы по тегам