单击地址时移动地图(谷歌地图)

时间:2013-05-22 22:37:51

标签: java primefaces maps

我正在制作一个民意调查的应用程序,我从移动设备获取用于进行民意调查的坐标。我想显示一个列表,其中包含制作民意调查的所有坐标。当用户点击坐标时,地图(谷歌地图)会移动到该地址。我在谷歌上找不到任何类似的代码。在resumen就是这样的。您有一个包含坐标的列表,当您单击其中一个时,位于列表一侧的地图将移动到该地址。非常感谢您的帮助。

我正在使用java。

提前致谢!

2 个答案:

答案 0 :(得分:0)

对于适用于Android的Java API,您必须change the view相机。这包括2D地图功能(位置,缩放),还包括3D地图功能(倾斜,方向)。有关您需要创建的CameraPosition对象的完整规范,请参阅reference

所以,拥有坐标,在OnClickListener中你必须做一些像:

GoogleMap myMap = mapFragment.getMap();
CameraUpdate campos = CameraUpdateFactory.newLatLng(new LatLng(myLat, myLng));
myMap.moveCamera(campos);

其中mapFragment是您在Activity中使用的MapFragment对象。


下面是javascript API:

要将地图居中到某些坐标,请使用panTo(latLng:LatLng)功能。您可以在Google Maps V3 API reference

中找到更多信息

向列表中的元素添加click处理程序。在处理程序中,获取对google.maps.Map对象的引用,然后调用:

  1. 创建LatLng对象:

    var latlng = new google.maps.LatLng(myLat, myLng);
    
  2. 将地图重新​​定位或平移到此位置:

    myMap.panTo(latlng)
    
  3. 其中myMap是地图对象引用,myLatmyLbg是坐标的数字值。

答案 1 :(得分:0)

好的..我找到了我的解决方案..如果有人有兴趣...这对我很有用..

$(document).ready(function(){     初始化();

$("#menu").on("click", "#panLA", function() {
    var laLatLng = new google.maps.LatLng(34.01131647557699, -118.25599389648437);
    map.panTo(laLatLng);
});
$("#menu").on("click", "#panLB", function() {
    var laLatLng = new google.maps.LatLng(33.70131647557699, -118.15599389648437);
    map.panTo(laLatLng);
});

});

function initialize(){     var myOptions = {         zoom:8,         center:new google.maps.LatLng(-34.397,150.644),         mapTypeId:google.maps.MapTypeId.ROADMAP     };     map = new google.maps.Map(document.getElementById('map_canvas'),myOptions); }

http://jsfiddle.net/D2W3j/