Внутри вашей функции .change измените эту строку:
var circle = new google.maps.Circle({
на эту:
circle = new google.maps.Circle({
Как вы это делали, вы создавали новую локальную переменную с именем circle
и устанавливаете его значение, а вы не устанавливаете значение глобального определения circle
.Затем, когда вы приходите в следующий раз и набираете circle.setMap(null)
на глобальном, он все равно равен нулю.
Итак, если вы хотите работать только с глобальным определением круга, то удалите var
, как указано выше в функции .change()
.Если вы намеревались создать новый объект временного круга для использования только во время этой функции .change()
, которая не сохранится после выполнения этой функции, то назовите эту локальную копию чем-то отличным от circle
.