こんにちは私はいくつかのjavascriptを分離するためにpaloma gemを使用しています。マップにマーカーを追加しようとすると、gmapsからエラーMaximum call stack size exceeded
が得られます。Ruby on rails - gmaps4rails - マーカーデータを渡します。最大呼び出しスタックサイズを超えました
私のコントローラからjson形式の変数(マーカ座標)をjsファイルに渡し、その変数を(テスト用の)アラートボックスとマーカーに追加します。
var arrCoo = this.params.hash;
alert(arrCoo);
markers = handler.addMarkers(arrCoo);
(this.params.hash
は、私のコントローラから送信された変数を呼び出します)。この場合 、警告ボックスは、座標などを表示します。
[{"lat":57.4386015,"lng":16.6152354}]
が、私はエラーMaximum call stack size exceeded
を取得し、マーカーとマップが表示されません。
座標をコピーして貼り付けても、
markers = handler.addMarkers([{"lat":57.4386015,"lng":16.6152354}]);
地図上にマーカーが問題なく表示されます。私の場合は
markers = handler.addMarkers(arrCoo);
と
markers = handler.addMarkers([{"lat":57.4386015,"lng":16.6152354}]);
の違いは何ですか?アラートボックスとマーカー属性によって変数が同じように見えないのはなぜですか?
UPDATE:私はより多くの情報を追加してい
。次のコードではアラートは座標の配列を表示しますが、gmapsによってエラーが表示されます。私が試みて直接markers = handler.addMarkers(this.params.hash);
を追加すると、エラーcannot read property hash of undefined
が発生します。エラーを発生させずに配列を配置するにはどうすればよいですか?
Paloma.controller('Gigs', {
show: function(){
var arrCoo = this.params.hash;
var mapStyle = [{"featureType":"administrative","elementType":"all","stylers":[{"visibility":"on"},{"lightness":33}]},{"featureType":"landscape","elementType":"all","stylers":[{"color":"#f2e5d4"}]},{"featureType":"poi.park","elementType":"geometry","stylers":[{"color":"#c5dac6"}]},{"featureType":"poi.park","elementType":"labels","stylers":[{"visibility":"on"},{"lightness":20}]},{"featureType":"road","elementType":"all","stylers":[{"lightness":20}]},{"featureType":"road.highway","elementType":"geometry","stylers":[{"color":"#c5c6c6"}]},{"featureType":"road.arterial","elementType":"geometry","stylers":[{"color":"#e4d7c6"}]},{"featureType":"road.local","elementType":"geometry","stylers":[{"color":"#fbfaf7"}]},{"featureType":"water","elementType":"all","stylers":[{"visibility":"on"},{"color":"#acbcc9"}]}];
var handler = Gmaps.build('Google');
handler.buildMap({
provider: {
mapTypeControl: false,
streetViewControl: false,
styles: mapStyle,
zoom: 4,
minZoom: 2,
maxZoom: 20,
center: new google.maps.LatLng(20.68177501, -103.3514794)
},
internal: {id: 'gigmap'}},
function(){
alert(arrCoo);
markers = handler.addMarkers(arrCoo);
handler.bounds.extendWith(markers);
handler.fitMapToBounds();
});
}
});
感謝を減らすために呼び出しますが、私はこれを行うことができます方法はありますか?この配列をコントローラからjsファイルに渡す方法は他にありません。 –
私はより多くの情報と私のコードで私の質問を更新しました。 –