=== Что относительно соответствующий требованиям завтрашнего дня и повторное использование кода ? ===
, Если Вы не делаете , пишет код для освобождения объектов, тогда Вы ограничиваете код тем, чтобы только быть безопасным использовать, когда можно зависеть от памяти, являющейся free'd процессом, закрываемым... т.е. маленькие одноразовые проекты использования или "одноразовый" [1] глоток> проекты)..., где Вы знаете, когда процесс закончится.
, Если Вы делаете , пишут код, настолько свободный () s вся Ваша динамично выделенная память, тогда Вы соответствуете требованиям завтрашнего дня код и позволяете другим использовать его в большем проекте.
[1] относительно "одноразовых" проектов. Код, используемый в "Одноразовых" проектах, имеет способ того, чтобы не быть выброшенным. Следующая вещь Вы знаете десять лет, передала, и Ваш "одноразовый" код все еще используется). глоток>
я слышал историю о некотором парне, который написал некоторый код только для забавы заставить его аппаратные средства работать лучше. Он сказал" просто хобби, не будет большим и профессиональный ". Несколько лет спустя много людей использует его код "хобби".
Если вы можете получить координаты GPS (широту, долготу) для каждого почтового индекса, создайте функцию расстояния Javascript.
Найдите это здесь в C #, но концепция та же самая, если вы хотите воспроизвести это в JS.
Это может сработать - по сути, включение setSearchCompleteCallback по-разному реагирует в зависимости от того, ищет ли он первый или второй почтовый индекс.
var searchControl= new google.search.SearchControl();
var distanceSearch = new google.search.LocalSearch();
searchControl.addSearcher(distanceSearch);
distanceSearch.setSearchCompleteCallback(null, function() {
if(distanceSearch.results.length > 0 && distanceSearch.postcode2)
{
distanceSearch.point1 = new GLatLng(distanceSearch.results[0].lat, distanceSearch.results[0].lng)
var postcode2 = distanceSearch.postcode2;
distanceSearch.postcode2 = null;
distanceSearch.execute(postcode2 + ", UK");
} else if (distanceSearch.results.length > 0 && !distanceSearch.postcode2) {
distanceSearch.point2 = new GLatLng(distanceSearch.results[0].lat, distanceSearch.results[0].lng)
//some code to calculate distance and write it to somewhere
} else {
//no search results
}
});
function measureDistance(postcode1, postcode2) {
distanceSearch.postcode2 = postcode2;
distanceSearch.execute(postcode1 + ", UK");
}