使用控制器从symfony2中的DB获取gps位置

时间:2015-11-25 15:32:57

标签: google-maps symfony symfony-forms symfony-2.6

我不想使用任何捆绑包。 我想使用Ajax请求从数据库到谷歌地图获取gps位置,但问题很少  1.这是我树枝上的地图脚本

<script>

 function int()
 {
    var myLatlng = new google.maps.LatLng(49.47143, 11.107489999999984);
    var mapOptions = {
        zoom: 8,
        center: myLatlng
    };
    var map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions);
    var marker;

    $.ajax({
        type: "GET",
        url: "{{ path('home_page') }}",
        data: "addr="+encodeURI("{{ location.address }}, {{ location.contacts }}, {{ location.managerName }}"),
        success: function(data) {
                marker = new google.maps.Marker({
                position: new google.maps.LatLng(data.lat, data.longi),
                map: map,
                title: 'test'
            });
        }
    });
 }   
google.maps.event.addDomListener(window, 'load', init);

</script>
  1. 这是从服务器端获取GPS位置的控制器

    public function indexAction(Request $ request) {

    $ em = $ this-&gt; getDoctrine() - &gt; getEntityManager();

    $ resultsee = $ em-&gt; createQuery('select a.lat,a.longi,a.managerName,a.address,a.contacts from AdminBundle:location a');  $ entities = $ resultsee-&gt; getResult();

    返回新的JsonResponse(数组('location'=&gt; $ entities));

  2. }

    1. 最后这是我得到的错误,而不是在地图上显示

      {“location”:[{“lat”:“13.459326003707657”,“longi”:“ - 16.580506139062436”,“managerName”:“Lamin L Janneh”,“地址”:“班珠尔”,“联系人”:“ 3930050" }]}

1 个答案:

答案 0 :(得分:0)

&#34;数据&#34;是对您的ajax请求的响应。它在位置&#34;位置&#34;包含一个对象。所以你应该改变

new google.maps.LatLng(data.lat, data.longi)

new google.maps.LatLng(data.lat, data.longi)