Мне удалось это сделать с помощью .setCenter () в обратном вызове directionsService (после получения правильного ответа). Однако это работает только при использовании тайм-аута. Возможно, это не самое чистое решение, но это единственное, что мне доступно на данный момент.
/* _x & _y are passed as coordinates */
var _latLng=new google.maps.LatLng(_x,_y);
directionsService.route(request, function(response, status) {
if (status == google.maps.DirectionsStatus.OK) {
directionsRenderer.setDirections(response);
window.setTimeout(function(){
gmap.setCenter(_lagLng);
}, 500);
}
}
Похоже, что если вы вызываете .setCenter () слишком рано, gmap все еще создается и после завершения центрируется на маршруте - переопределяя вашу последнюю команду на .setCenter () - однако, используя тайм-аут в качестве обходного пути, вызов выполняется после построения карты и рендеринга маршрута.