У меня есть эта функция, которая получает координаты маркеров после его опускает в карту:Строка превратилась в объект после передачи его другой функции?
$(function() {
$("#add-marker").draggable({
containment: "map",
helper: "clone",
start: function(evt, ui) {
$('#navbar').fadeTo('fast', 0.6, function() {});
},
stop: function(evt, ui) {
// Turning coordinates into a string and then removing unwanted characters
var string = String(map.containerPointToLatLng([ui.offset.left, ui.offset.top]));
string = string.replace('LatLng(', '');
string = string.replace(' ', '');
string = string.replace(')', '');
console.log(typeof string); // ---> Shows my coordinates
addProperty(string);
}
});
});
Проблема заключается в том, что, когда я прохожу «строку», он превращается в объект:
function addProperty(coords){
$.magnificPopup.open({
tLoading:"Loading...",
modal:false,
showCloseBtn: true,
closeBtnInside: true,
type:'inline',
alignTop:false,
items:{src: $('#test-popup')},
callbacks: {
open: function(coords) {
console.log(typeof $(this).data(coords)); // ---> Shows object
$('#coords').val($(this).data(coords));
}
}
});
}
Как передать строку в функцию addProperty и по-прежнему использовать ее как строку?
'$ (this) .data (coords)' Что он возвращает? –
Обратите внимание, что, хотя 'string' не является зарезервированным словом, это не большое имя переменной, так как это вызовет много путаницы. –
Rajaprabhu: он возвращает объект. Рори: ты прав, я изменил его на что-то еще. – Barbarah