As far as I know, there is no app that allows calculating shipping fee based on distance automatically. However, there are a few apps for you to set up shipping rules manually like https://apps.shopify.com/shipping-tags and also estimate order delivery date base on country/ZIPcode https://apps.shopify.com/omega-estimated-shipping-date
Hope that helps.
Check out zapestore.com/pricing - our Enterprise plan has both integration with GrabExpress & MrSpeedy for Shopify stores, as well as per-km delivery rates.
If you'd like to know more, just email me at firstname.lastname@example.org and I can have an agent of ours contact you for more details.
We also have a Shopify app that you can set up yourself (https://apps.shopify.com/restaurant-alerts-delivery) for GrabExpress & MrSpeedy integration – however, per-km delivery rates is not yet available in this app.
Let me know how I can further assist you!