Я пытался отладить это без удачи.У меня есть случай сброса переключателя, который, кажется, работает, когда я наблюдаю за стеком, и он достигает всех точек разрыва, которые я установил (представьте, что это тип многоугольника, и я ставлю точку разрыва на все, что должно появиться).Я ударил каждого из них, но это не удалось.Итак ... вот первая, которая работает.
function create_map_element3(type,op,map){
var _op={};
defined(map) ?_op.map=map:null;
defined(op.clickable) ?_op.clickable=op.clickable:null;
defined(op.visible) ?_op.visible=op.visible:null;
defined(op.zIndex) ?_op.zIndex=op.zIndex:null;
switch(type){
case "polygon" :
defined(op.editable) ?_op.editable=op.editable:null;
defined(op.fillOpacity) ?_op.fillOpacity=op.fillOpacity:null;
return new google.maps.Polygon(_op);
break;
case "rectangle" :
defined(op.editable) ?_op.editable=op.editable:null;
defined(op.fillOpacity) ?_op.fillOpacity=op.fillOpacity:null;
return new google.maps.Rectangle(_op);
break;
case "circle" :
defined(op.editable) ?_op.editable=op.editable:null;
defined(op.fillOpacity) ?_op.fillOpacity=op.fillOpacity:null;
return new google.maps.Circle(_op);
break;
case "polyline" :
defined(op.editable) ?_op.editable=op.editable:null;
defined(op.strokeWeight) ?_op.strokeWeight=op.strokeWeight:null;
return new google.maps.Polyline(_op);
break;
case "marker" :
defined(op.animation) ?_op.animation=op.animation:null;
return new google.maps.Marker(_op);
break;
};
}
, которая работает .. Я прекрасно вывел элемент карты Google.Теперь с изменением, и снова, когда я отлаживаюсь, я нажимаю на все точки останова. _Op объект заполнен и его свойства заполнены ... но ничего ...
function create_map_element(type,op,map){
var _op={};
defined(map) ?_op.map=map:null;
switch(type){
case "polygon": case "polyline" : case "rectangle" : case "circle" : case "marker" :
defined(op.clickable) ?_op.clickable=op.clickable:null;
defined(op.visible) ?_op.visible=op.visible:null;
defined(op.zIndex) ?_op.zIndex=op.zIndex:null;
case "polygon": case "polyline" : case "rectangle" : case "circle" :
defined(op.strokeColor) ?_op.strokeColor=op.strokeColor:null;
defined(op.strokeOpacity) ?_op.strokeOpacity=op.strokeOpacity:null;
defined(op.strokeWeight) ?_op.strokeWeight=op.strokeWeight:null;
case "polygon": case "rectangle" : case "circle" :
defined(op.fillOpacity) ?_op.fillOpacity=op.fillOpacity:null;
case "polygon": case "polyline" :
defined(op.geodesic) ?_op.geodesic=op.geodesic:null;
case "marker" :
defined(op.animation) ?_op.animation=op.animation:null;
case "polygon" :
return new google.maps.Polygon(_op);
break;
case "rectangle" :
return new google.maps.Rectangle(_op);
break;
case "circle" :
return new google.maps.Circle(_op);
break;
case "polyline" :
return new google.maps.Polyline(_op);
break;
case "marker" :
return new google.maps.Marker(_op);
break;
};
}
Но когда я устанавливаю точки останова налиния повторения запускает его, и все выглядит правильно ... но .. ничего .. У кого-нибудь есть идея?Спасибо - Джереми
[РЕДАКТИРОВАТЬ] Исходя из того, что я не знаю, кто удалил свой ответ, но это было на правильном пути причины неудачи дела ...вот вариант, который я пытался сделать с той же идеей, что и выше.
function create_map_element(type,op,map){
var _op={};
defined(map)?_op.map=map:null;
defined(op.clickable) ?_op.clickable=op.clickable:null;
defined(op.visible) ?_op.visible=op.visible:null;
defined(op.zIndex) ?_op.zIndex=op.zIndex:null;
if( ["polygon","polyline","rectangle","circle"].indexOf(type)!== -1 ){
defined(op.strokeColor) ?_op.strokeColor=op.strokeColor:null;
defined(op.strokeOpacity) ?_op.strokeOpacity=op.strokeOpacity:null;
defined(op.strokeWeight) ?_op.strokeWeight=op.strokeWeight:null;
}
if( ["polygon","rectangle","circle"].indexOf(type)!== -1 ){
defined(op.fillColor) ?_op.fillColor=op.fillColor:null;
defined(op.fillOpacity) ?_op.fillOpacity=op.fillOpacity:null;
}
if( ["polygon","polyline"].indexOf(type)!== -1 ){
defined(op.geodesic) ?_op.geodesic=op.geodesic:null;
}
if(type == "marker"){
defined(op.animation) ?_op.animation=op.animation:null;
defined(op.cursor) ?_op.cursor=op.cursor:null;
defined(op.draggable) ?_op.draggable=op.draggable:null;
defined(op.flat) ?_op.flat=op.flat:null;
defined(op.icon) ?_op.icon=op.icon:null;
defined(op.optimized) ?_op.optimized=op.optimized:null;
defined(op.position) ?_op.position=op.position:null;
defined(op.raiseOnDrag) ?_op.raiseOnDrag=op.raiseOnDrag:null;
defined(op.shadow) ?_op.shadow=op.shadow:null;
defined(op.shape) ?_op.shape=op.shape:null;
defined(op.title) ?_op.title=op.title:null;
}
switch(type){
case "polygon" :
return new google.maps.Polygon(_op);
break;
case "rectangle" :
return new google.maps.Rectangle(_op);
break;
case "circle" :
return new google.maps.Circle(_op);
break;
case "polyline" :
return new google.maps.Polyline(_op);
break;
case "marker" :
return new google.maps.Marker(_op);
break;
};
}
Теперь, как ни странно, это не работает слишком, НО .. он правильно охватывает все точки останова, и когда я проверяю его, кажетсяЧто ж.Он просто не возвращает элемент карты Google ... опять же, работает верхний блок кода (функция create_map_element3) ..