TypeError:google.maps.geometry未定义(象牙谷歌地图套装)

时间:2015-04-30 16:21:00

标签: javascript ajax google-maps symfony

所以我有一个控制器,它具有创建Google Map的功能,在$ from和$ to places(如果两者都定义)上放置一个标记,并在两者之间绘制一条路线。此功能有两种使用方式: - 在树枝中嵌入控制器,其中$ from和$ to被赋予变量 - ajax调用,其中$ from和$ to在请求中传递。

问题是这对嵌入式控制器很有用,但是当在ajax调用中使用时,我得到了上述错误。

一些代码示例: 来自控制器:

public function stageMapAction(Request $request, $from = null, $to = null)
{
    if($from === null){
        $from = $request->query->get('from');
    }
    if($to === null){
        $to = $request->query->get('to');
    }

    .......(create map, put markers on it, code omitted) ....

    if($from !='' && $to!='' ){
        $temp = $directions->route($from, $to);
        $routes = $temp->getRoutes();
        foreach ($routes as $route) {
            $overviewPolyline = $route->getOverviewPolyline();
            $overviewPolyline->setOption('strokeColor', '#0000ff');
            $overviewPolyline->setOption('strokeWeight', 1.5);
            $map->addEncodedPolyline($overviewPolyline);
        }
    }

从显示记录的树枝模板:

{% set from = stagecurrent.getStageFrom() %}
{% set to = stagecurrent.getStageTo() %}
{{ render(controller('TravelBundle:Map:stageMap',{ 'from':from, 'to':to })) }}

从我在表单上显示相同内容的jquery(map_stage_call路由调用相同的控制器和函数):

function refreshMap(){
    var $from = $('.stage-from').val();
    var $to = $('.stage-to').val();
    $.ajax({
        type: "POST",
        url: "{{ url('map_stage_call') }}?from=" + $from + "&to=" + $to,
        success: function (data) {
            $('#placeholder-map').html(data);
        },
        error: function(){
            $('#placeholder-map').html('error');
        }
    });
};

奇怪的是,当我放置标记时,一切都运行良好,这是折线,似乎给出了问题。更奇怪的是,当我将$和$传递给输出html时,它们在两种情况下完全相同。有什么想法吗?

0 个答案:

没有答案