Google Maps uses several different data sources to search for search results on a map.
The record you see is โcorrectโ, is the record of the โPlacesโ database. See this page and enter the search bar (St Clements Church, Edge Lane, Chorlton, M21 9JF).
The geocoder gets designed to return the coordinates of postal addresses, your line does not have enough information to get accurate results:
http://www.geocodezip.com/v3_example_geo2.asp?addr1=St%20Clement%E2%80%99s%20Church,%20Edge%20Lane,%20Chorlton,%20M21%209JF&geocode=1
It looks like it just returns the geocode for the zip code:
Manchester M21 9JF, UK (53.4414411, -2.285287100000005)
It looks like the geocoder has this place in it. If I use "St Clements Church, Edge Lane", it seems to get the geocode on the roof (although it reports "APPROXIMATE")
http://www.geocodezip.com/v3_example_geo2.asp?addr1=St%20Clement%E2%80%99s%20Church,%20Edge%20Lane,%20Chorlton,%20M21%209JF&geocode=1&addr2=St%20Clement%E2%80 % 99s% 20Church,% 20Edge% 20Lane & geocode = 2
St Clement Church, 6 Edge Ln, Manchester, Lancashire M21 9JF, UK (53.4406823, -2.283755499999984)
proof of conceptual scripts
code snippet:
var geocoder, map, service, infowindow, bounds; function initialize() { map = new google.maps.Map( document.getElementById("map_canvas"), { center: new google.maps.LatLng(37.4419, -122.1419), zoom: 13, mapTypeId: google.maps.MapTypeId.ROADMAP }); var request = { query: "St Clement's Church, Edge Lane, Chorlton, M21 9JF" } infowindow = new google.maps.InfoWindow(); service = new google.maps.places.PlacesService(map); bounds = new google.maps.LatLngBounds(); service.textSearch(request, callback); } google.maps.event.addDomListener(window, "load", initialize); function callback(results, status) { if (status == google.maps.places.PlacesServiceStatus.OK) { for (var i = 0; i < results.length; i++) { var place = results[i]; var marker = createMarker(results[i]); bounds.extend(marker.getPosition()) } map.fitBounds(bounds); google.maps.event.trigger(marker, 'click'); } } function createMarker(place) { var placeLoc = place.geometry.location; var marker = new google.maps.Marker({ map: map, position: place.geometry.location }); google.maps.event.addListener(marker, 'click', function() { infowindow.setContent(place.name); infowindow.open(map, this); }); return marker; }
html, body, #map_canvas { height: 100%; width: 100%; margin: 0px; padding: 0px }
<script src="https://maps.googleapis.com/maps/api/js?libraries=places"></script> <div id="map_canvas"></div>