0

首先:我对 Javascript 和 HTML 很陌生。我确实遇到了属于初学者类别的问题/问题,但我不知道要搜索什么来获得答案。我想做这样的事情:

<script type="text/javascript">
    var map;
    $(document).ready(function () {
        this.map = new GoogleMap();
        this.map.initialize();
    });
    var addMarker = function(lat, lng, address) {
        this.map.addMarker(lat, lng, address);
    };
</script>

addMarker我想从剃刀调用的函数:

@foreach (var item in Model.Companies)
{
    <script>
        addMarker(@item.Latitude, @item.Longitude, '@item.Address');
    </script>
}

问题是map没有在方法的范围内声明。使这个工作的正确方法是什么?

4

2 回答 2

2

不要使用this.map,但map它可以让您访问map已在范围内声明的全局变量window

var addMarker = function(lat, lng, address) {
    map.addMarker(lat, lng, address);
};
于 2012-12-26T14:45:47.660 回答
0

访问map您在第一行声明的变量 not this.map

于 2012-12-26T14:45:24.970 回答