首页 文章

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

提问于
浏览
0

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

<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>
  • 这是从服务器端获取GPS位置的控制器

public function indexAction(Request $ request){

$ em = $ this-> getDoctrine() - > getEntityManager();

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

返回新的JsonResponse(array('location'=> $ entities));

}

  • 最后这是我得到的错误,而不是在 Map 上显示

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

1 回答

  • 0

    “data”是对您的ajax请求的响应 . 它在“位置”位置包含一个对象,因此您应该更改

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

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

相关问题