If you are not getting a lock on to your position, try refreshing. If this does not work, try one or more of the following:-
1. Move outside if you are inside.
2. Change the accuracy setting to a higher value. 10m is normally sufficient when outside, but if you are having trouble getting a lock, increase this value to 20, 50, 75 or 200 metres.
3. Change the Search Timeout value. It may be that your device takes longer to determine your location. For instance, the GPS receiver on the iPhone 3G is slower to acquire a lock than the one on the iPhone 4. Try increasing this timeout to a higher value and see if this helps.
When sending an SMS, try not to add text to the SMS message body text too much (or at all) as doing so may result in a broken tappable link, and your friend may not be able to tap on it properly and have your location displayed to them. You can edit the SMS text, but avoid changing the text already filled in for you.
When sending an email, you can add as much text as you like, but do make sure you do not modify the text already filled in as doing so may break the tappable link and your friend may not be able to have your location displayed to them.
If the map takes too long to load when your location has been determined it normally means that your data network connection is slow. In this case, try setting the Map Detail setting to 'Map' as this takes up less bandwidth to download.