Google maps api 3 google places api/google maps:“;由…列出的列表”;不';t get reset使地图区域变得杂乱无章

Google maps api 3 google places api/google maps:“;由…列出的列表”;不';t get reset使地图区域变得杂乱无章,google-maps-api-3,google-places-api,Google Maps Api 3,Google Places Api,我有一个使用PlacesAPI的网站pune.org。正如你所看到的,如果我选择标记,那么列表中的线条就会不断增加,最终会使整个地图区域变得无用 如何通过或理想情况下通过当前选定的标记来重置列表,以仅显示列表 谢谢, Sandeep您在代码中多次实例化Places服务,例如每次地图平移时。您需要在开始时设置一个名为service的全局变量,然后实例化Places服务一次(*在地图初始化期间将是合适的)。然后,您只需在其他函数中调用service.search方法,而无需反复实例化服务 因此: 然

我有一个使用PlacesAPI的网站pune.org。正如你所看到的,如果我选择标记,那么列表中的线条就会不断增加,最终会使整个地图区域变得无用

如何通过或理想情况下通过当前选定的标记来重置列表,以仅显示列表

谢谢,
Sandeep

您在代码中多次实例化Places服务,例如每次地图平移时。您需要在开始时设置一个名为service的全局变量,然后实例化Places服务一次(*在地图初始化期间将是合适的)。然后,您只需在其他函数中调用
service.search
方法,而无需反复实例化服务

因此:

然后删除
service=newgoogle.maps.places.PlacesService(map)的其他实例在您的代码中,只调用
服务。搜索(请求、回调)

var service;
\\Rest of other global variables
function initializeMap(initialLat, initialLng, detectCurrentLocation, radius,
        zoomLevel, defaultType) {
    initialLocation = new google.maps.LatLng(initialLat, initialLng);
    geocoder = new google.maps.Geocoder();

    var myOptions = {
        zoom : zoomLevel,
        mapTypeId : google.maps.MapTypeId.ROADMAP
    };
    map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
    service = new google.maps.places.PlacesService(map); //Only do this once!
    ...//rest of your code
}