我不想使用任何捆绑包。 我想使用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>
这是从服务器端获取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));
}
最后这是我得到的错误,而不是在地图上显示
{“location”:[{“lat”:“13.459326003707657”,“longi”:“ - 16.580506139062436”,“managerName”:“Lamin L Janneh”,“地址”:“班珠尔”,“联系人”:“ 3930050" }]}
答案 0 :(得分:0)
&#34;数据&#34;是对您的ajax请求的响应。它在位置&#34;位置&#34;包含一个对象。所以你应该改变
new google.maps.LatLng(data.lat, data.longi)
到
new google.maps.LatLng(data.lat, data.longi)