私は "Imovels"(プロパティ)のCRUDを持っているので、データベースには別のフィールドに住所があります。つまり:Google Maps rails 5
<%= f.text_field :logradouro %> # street name
<%= f.number_field :numero %> # number
<%= f.collection_select :bairro_id, @bairros, :id, :nome, {} %> # neighborhood
<%= f.collection_select :cidade_id, @cidades, :id, :nome, {} %> # city
私はgemaps4railsを使用してマップ上の場所を表示しています。私は宝石のドキュメントのチュートリアルに従いますが、マップはレンダリングされません。プーマログで
は、2つのエラー
ActionController::RoutingError (No route matches [GET] "/assets/underscore-min.map"):
NoMethodError (undefined method `geocoded_by' for #<Class:0x007fe7c02f2fb0>):
を示しモデル:
class Imovel < ApplicationRecord
geocoded_by :enderecoCompleto
after_validation :geocode
end
連結します
def show
@enderecoCompleto = "#{@imovel.logradouro}, #{@imovel.cidade.nome}"
end
ビュー: ここで私は上基づか地図を表示したいですendereçoCompleto、それは通りの名前と都市です。私は本当にここで進める方法を知らない。
<div style='width: 800px;'>
<div id="map" style='width: 800px; height: 400px;'></div>
</div>
<script>
handler = Gmaps.build('Google');
handler.buildMap({ provider: {}, internal: {id: 'map'}}, function(){
markers = handler.addMarkers([
{
"lat": 0,
"lng": 0,
"picture": {
"url": "http://people.mozilla.com/~faaborg/files/shiretoko/firefoxIcon/firefox-32.png",
"width": 32,
"height": 32
},
"infowindow": "hello!"
}
]);
handler.bounds.extendWith(markers);
handler.fitMapToBounds();
});
</script>
</div>
私はモデルにそのコードを聞かせている場合、返されるエラーは次のとおりです。
NoMethodError (undefined method `geocoded_by' for #<Class:0x007fe7c02f2fb0>):
私は上記の方法。 この地図をデータベースのアドレス(緯度と経度なし)に基づいてレンダリングするにはどうすればよいですか?
@imple limeの助けを借りて、ジオコーディングされた問題は解決されましたが、ページはレンダリングされますが、マップは表示されません。実際には、他のJavaScriptコードを台無しにしました。ターボリンクと関連しているようだ。 application.jsで
<script async defer
src="https://maps.googleapis.com/maps/api/js?key=XXXXXX&callback=initMap">
</script>
<script src="//cdn.rawgit.com/mahnunchik/markerclustererplus/master/dist/markerclusterer.min.js"></script>
<script src='//cdn.rawgit.com/printercu/google-maps-utility-library-v3-read-only/master/infobox/src/infobox_packed.js' type='text/javascript'></script>
:ビューで
コンソールで
//= require underscore
//= require gmaps/google
:
the gem +のIT上のユーチューブの動画を見てみると
答えてくれてありがとう本当に間違っていますが、それを修正してもエラーは続きます。 – SuBzer0
問題が解決しない場合は、モデルとビューの詳細を確認する必要があります。少なくとも、宝石のモデルの関連部分、マップをレンダリングしようとしているhtml、使用されているjavascript。また、「緯度と経度なし」では、それらをまったく保管しないようにしようとしていますか?あなたがそれらを必要としているように見える宝石を見ている(間違っているかもしれない、それを自分で使ったことはない) –
ちょうど、より多くの情報でポストを編集しました。私は経度の店舗の緯度に問題はありませんが、私はユーザーに検索を強制したくありません。 – SuBzer0