Вы можете использовать метод фильтра и массив фильтров на основе количества свойств в каждом элементе следующим образом
this.abcService.addabc(ABC).subscribe(
res => {
let res1 = res.filter(i=>Object.keys(i.ABC_Info.ABC).length >1);
this.abcArray.push(res1); //abcArray is a array. Before Pushing I want to check for empty element and remove before pushing
},
error => console.log(error)
);
}
фильтровать элемент массива без какого-либо свойства, такого как _id, которое вы можете использовать
res.filter(i=>Object.keys(i.ABC_Info.ABC).length >0);
Я сделал это для клиента ранее в этом году и должен был просто сделать несколько модификаций. Я также сделал некоторый захват направления. Это все довольно просто, но лучшее просматриваемый в контексте.
Смотрите на источник страницы, которую я сделал.
Google не предоставляет API геокодирования в Великобритании из-за модели лицензирования Королевские Почтовые данные почтового индекса выпусков под.
Однако некоторых инструментов, что люди записали, что позволяют геокодировать использование Google, но это было бы технически недопустимым afaik.
Одна опция затем состоит в том, чтобы использовать одну из нескольких Великобритании, геокодирующей поставщиков. Я не хочу звучать ленивым, но они легко погуглены. Они обычно заряжают несколько пенсов на геокод.
Люди позади openstreetmap.org работали над свободным эквивалентом - я не знаю, насколько готовый для прайм-тайма это, но FWIW:
Вам нужна база данных PAF, каждый почтовый индекс сохранен как полигон, поэтому если у Вас нет этого исходные данные, Вы не можете ограничить поиск полигоном, или радиусом вокруг centrepoint.
Почта продаст Вам все данные, которых Вы требуете, хотя, цены начинают с 85£ pa.
PS. Google делает это, потому что у них есть база данных PAF, когда Вы вводите в почтовом индексе, они поиск центр и дисплей это на их карте.
Никто, кажется, не искал очень трудно... существует список в свободном доступе британских почтовых индексов и положений там. Что еще более важно, все избыточные, потому что карты Google обеспечивают способность искать почтовым индексом для начала. Даже использование API является избыточным дополнительным, учитывая, что услуга предоставляется по Интернету... нет ничего для остановки Вас отправляющий запрос HTTP самих и отображающий части возвращенных данных, пока Вы сохраняете любые необходимые сообщения авторского права и т.д.
http: // www .websemantics.co.uk / resources / postcode_to_coordinates_conversion_tool /
Сайт предоставит вам долготу и широту, которые вы можете поместить прямо в свой код Google.
Это (сейчас) Очень легко сделать это, используя Localsearch API Google:
function usePointFromPostcode(postcode, callbackFunction) {
localSearch.setSearchCompleteCallback(null, function() {
if (localSearch.results[0]) {
var resultLat = localSearch.results[0].lat;
var resultLng = localSearch.results[0].lng;
var point = new GLatLng(resultLat,resultLng);
callbackFunction(point);
} else {
alert("Postcode not found!");
}
});
localSearch.execute(postcode + ", UK");
}
CallbackFunction ()
получит объект Glatlng с, в моем опыте, очень точные координаты. Фактически, это тривиально, чтобы затем кормить, что Glatlng к методу Getlocation () () GcClientgeoCoder и вернуть полные детали метки, которые включают в себя детали до уровня диапазона адресов (E.g. 1-18 Foo Street).
Реальный вопрос: насколько законно , что ?