簡體   English   中英

Laravel 5在谷歌地圖API中加載地址

[英]laravel 5 loading addresses in google map api

我是json和laravel的新手,我想提出我的問題。

我有一個名為dealer_address的數據庫表,該表具有ID,地址,州,大頭針,城市。

我用一些地址加載地圖的JavaScript是:

<script type="text/javascript">
    $(function(){
        $('#test1').gmap3({
            map:{
                options:{
                    center:[46.578498,2.457275],
                    zoom: 5
                }
            },
            marker:{
                values:[
                    {latLng:[48.8620722, 2.352047], data:"Paris !"},
                    {address:
                        $.ajax({
                            url: '/maps2/',
                            type: 'get',
                            data: {_token: CSRF_TOKEN},
                            dataType: 'JSON',
                            success: function (results) {
                                console.log(results);
                            }
                        })}
                ],
                options:{
                    draggable: false
                },
                events:{
                    mouseover: function(marker, event, context){
                        var map = $(this).gmap3("get"),
                            infowindow = $(this).gmap3({get:{name:"infowindow"}});
                        if (infowindow){
                            infowindow.open(map, marker);
                            infowindow.setContent(context.data);
                        } else {
                            $(this).gmap3({
                                infowindow:{
                                    anchor:marker,
                                    options:{content: context.data}
                                }
                            });
                        }
                    },
                    mouseout: function(){
                        var infowindow = $(this).gmap3({get:{name:"infowindow"}});
                        if (infowindow){
                            infowindow.close();
                        }
                    }
                }
            }
        })
    });
</script>

但是,我想根據數據庫結果在地圖上顯示地址。

public function ShowData()
{
    $location = '700016';
    $results = DB::table('dealer_address')
        ->where('dealer_address.city', 'LIKE', '%'.$location.'%')
        ->orWhere('dealer_address.pincode', 'LIKE', '%'.$location.'%')
        ->orWhere('dealer_address.state', 'LIKE', '%'.$location.'%')
        ->get();

    dd($results);
    return View::make('/maps2')->with('data', json_encode($results));

}

我的dd($results)工作正常。 我需要在何處更改Javascript以傳遞此json?

我相信您可以將return語句簡化為:

return json_encode($results->toArray());

Laravel 4.2

return Response::json($results->toArray());

Laravel 5.1

return response()->json($results->toArray());

您可以創建

var options = [your data]

然后調用$('#test1').gmap3(options)

當您有options可以調用ajax獲取json數據並進行setit

options.marker.values.address[0] = response

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM