2

我正在使用 jQuery Mobile 开发移动应用程序。我还使用插件“jquery-ui-map”来制作我的地图(仅使用带有 jQ​​M 的 GMap 有助于解决显示问题)。

我可以在地图上添加折线并且效果很好。但是当我尝试使用 fitBounds 方法时,它不起作用。事实上,它缩小了很多。但不在我的范围内。

这是我的代码:

// Added some data, so you can understand the structure
// of variable "plan"
plan[0].lat_a = 45.4681;    plan[0].lng_a = -73.7414;
plan[0].lat_b = 45.6797;    plan[0].lng_b = -74.0386;
plan[1].lat_a = 45.6797;    plan[1].lng_a = -74.0386;
plan[1].lat_b = 48.7753;    plan[1].lng_b = -64.4786;

var polylinesCoords = new Array();
var bounds = new google.maps.LatLngBounds();

// Starting point
var LatLng = new google.maps.LatLng(plan[0].lat_a, plan[0].lng_a);
bounds.extend(LatLng);

// Building the polyline coords and bounds
for (var x=0; x<plan.length; x++) {
    polylinesCoords.push(new google.maps.LatLng(plan[x].lat_a, plan[x].lng_a), new google.maps.LatLng(plan[x].lat_b, plan[x].lng_b));
    LatLng = new google.maps.LatLng(plan[x].lat_b, plan[x].lng_b);
    bounds.extend(LatLng);
}

// Drawing polyline on map
$('#map_canvas').gmap('addShape', 'Polyline', {
    'path': polylinesCoords,
    'strokeColor': '#c00',
    'strokeThickness': 5
});

// «Focus» map on polyline with bounds
var map = $("#map_canvas").gmap("get", "map");
map.fitBounds(bounds);

除了最后一行之外,此代码段中的所有内容似乎都运行良好。

有任何想法吗 ?

4

1 回答 1

0

您可能错过了将地图居中放置在您的任何图钉上。我让你的代码使用这行代码

$('#map_canvas').gmap('option', 'center', (new google.maps.LatLng(plan[0].lat_a,plan[0].lng_a)));
于 2014-03-19T08:04:10.280 回答