function readOnly(count){ }
Starting November 20, the site will be set to read-only. On December 4, 2023,
forum discussions will move to the Trailblazer Community.
+ Start a Discussion
Philip BerryPhilip Berry 

Update Geolocation on Custom Fields

Hi All,

Thanks to the data integration rules, I have my geolocation fields updated for standard objects: Accounts, Contacts, and leads. However, I am wanting to have the geolocation fields also update on my custom object- "Property" . 

I was wondering what's the easiest way to get this done? 
GauravGargGauravGarg

Hi Phillip,

Please go through this link. 

https://success.salesforce.com/answers?id=9063A000000DjOxQAK

Thanks,

Gaurav
Skype: gaurav62990

Philip BerryPhilip Berry
Hi Gaurav.
Thank you for your response. 
I went to the link, and it seems like my use case is a little different. I want to pull the geolocation from the google map and store it in the geolocation map field (Property__c.Location__c). I have the visualforce map working from the address, city, zip code field. I don't know how to retrieve the lat and long though from the map. here is the code. Can you or anyone help?

<apex:page standardController="Property__c">
<head>

<script type="text/javascript" src="https://maps.google.com/maps/api/js?key=AIzaSyDS5llFUkQMqDCazEhB8ZiYMxjIbgNeIAA&sensor=false"></script>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
var myOptions={ zoom: 15,mapTypeId: google.maps.MapTypeId.ROADMAP,mapTypeControl: false };
var map;
var marker;
var geocoder = new google.maps.Geocoder();
var address ="{!Property__c.Address__c},{!Property__c.City__c}, {!Property__c.State__c}, {!Property__c.Zip_Code__c}";
var infowindow = new google.maps.InfoWindow({
content: "<b>{!Property__c.Name}</b><br>{!Property__c.Address__c}</br><br>{!Property__c.City__c}</br><br>{Property__c.State__c}</br><br>{!Property__c.Zip_Code__c}</br>"
});
 
geocoder.geocode( { address: address}, function(results, status) {
if (status == google.maps.GeocoderStatus.OK&&results.length) {
if (status != google.maps.GeocoderStatus.ZERO_RESULTS) {
 

//create map
map = new google.maps.Map(document.getElementById("map"), myOptions);
 

//center map
map.setCenter(results[0].geometry.location);
 
//create marker
marker = new google.maps.Marker({
position: results[0].geometry.location,
map: map,
title: "{!Property__c.Name}"
});
 
 
//add listeners
google.maps.event.addListener(marker, 'click', function() {
infowindow.open(map,marker);
});
google.maps.event.addListener(infowindow, 'closeclick', function() {
map.setCenter(marker.getPosition());
});
}
} else {
$('#map').css({'height' : '15px'});
$('#map').html("Oops! {!Property__c.Name}'s billing address could not be found, please make sure the address is correct.");
resizeIframe();
}
});
 
function resizeIframe() {
var me = window.name;
if (me) {
var iframes = parent.document.getElementsByName(me);
if (iframes&&iframes.length == 1) {
height = document.body.offsetHeight;
iframes[0].style.height = height + "px";
}
}
}
});
</script>
<style>
#map {
font-family: Arial;
font-size:12px;
line-height:normal !important;
height:250px;
background:transparent;
}
</style>
</head>
<body>
<div id="map"></div>
</body>
</apex:page>
GauravGargGauravGarg
Philip BerryPhilip Berry
Thank you for your help! The stackoverflow.com answer is helping me. I still haven't figured it out as it's still not updating. but this is in the right direction. Thanks for your help
GauravGargGauravGarg
Great, let me know if you more insight from my end. I would love to help. 
Philip BerryPhilip Berry
Thank you, yes, I was working on it all last night and couldn't find a solution. I do seem to still need help. Do you have any recommendations?
GauravGargGauravGarg
Can we connect on skype: gaurav62990
Philip BerryPhilip Berry
Thank you, I sent you an invite