Currently i'm trying to draw in code behind some icons and, when i click one, it shows a pusphin with information related to this icon, as the following:
AgenciesMarkers agmarkers = (AgenciesMarkers)sender; 

int atms = 0; int branches = 0; 
if(agmarkers.List !=null && agmarkers.List.Count >0) 
for (int i = 0; i < agmarkers.List.Count; i++) 
 if ((agmarkers.List[i] as MapsATMCore) != null) atms++; 
if ((agmarkers.List[i] as MapsBranchesCore) != null) branches++; 
GroupMarkerInfo infoControlGroup= new GroupMarkerInfo(); 

if(atms >0 && branches >0) 
infoControlGroup.tbCont.Text = agmarkers.Cont.ToString() +(Translate.GetTransactionString(Constants.MapKey, "atmsBranches"));//" branches and ATMs nearby"; 
 infoControlGroup.tbCont.Text = 
agmarkers.Cont.ToString() +(Translate.GetTransactionString(Constants.MapKey, "atmsNearby"));// " ATMs nearby";
 infoControlGroup.tbCont.Text = agmarkers.Cont.ToString() + (Translate.GetTransactionString(Constants.MapKey, "branchesNearby")); 
 infoControlGroup.tbInfo.Text = (Translate.GetTransactionString(Constants.MapKey, "zoomDetails"));
 pin = new Pushpin(); 
pin.GeoCoordinate = agmarkers.Coord; pin.Content = infoControlGroup; 
pin.Margin = new Thickness(20,-170, 0,0);
 mpLayer = new MapLayer(); 
overlay = new MapOverlay();
 overlay.Content = pin; 
overlay.GeoCoordinate = pin.GeoCoordinate; 
overlay.PositionOrigin = new Point(0.0, 1.0); mpLayer.Add(overlay); MyMap.Layers.Add(mpLayer);
My problem is, in icons that are close to the phone margins, the pushpin appears cut and i have to scroll the map to see all the information.

Is there any way for me to put the pushpin starting in the icon coordinates but positioned in the center of the phone's screen?